diff --git a/scripts/javascript/examples/star.js b/scripts/javascript/examples/star.js index 054e7c6b..aecef378 100644 --- a/scripts/javascript/examples/star.js +++ b/scripts/javascript/examples/star.js @@ -3,6 +3,9 @@ // it also shows the usage of keyboard controller // press 'q' to quit while running +W = get_width(); +H = get_height(); + x = 100; y = 100; s = 30 / 0.383; @@ -13,7 +16,7 @@ c = PI * 2; o = -PI / 2; scr = new Screen("sdl"); -scr.init(500,500); +scr.init(W,H); add_screen(scr); function drawStar(lay, s_mul, s2_mul) { @@ -55,7 +58,7 @@ star_kbd.released_r = function() { register_controller( star_kbd ); var star; -star = new GeometryLayer(300,300); +star = new GeometryLayer(W,H); star.color(255,255,255,255); //star.set_blit("alpha"); //star.set_name("star.js"); diff --git a/scripts/python/gtkgui/main.py b/scripts/python/gtkgui/main.py index 46d3df3e..1d77ddc5 100644 --- a/scripts/python/gtkgui/main.py +++ b/scripts/python/gtkgui/main.py @@ -120,15 +120,12 @@ class ContextMenu(gtk.Menu): class FreeJ(object): def __init__(self): - self.scr = freej.SdlScreen() - self.scr.init( 400 , 300 , 32 ) - self.init_context() - - def init_context(self): self.cx = freej.Context() self.cx.init() self.cx.clear_all = True - + + self.scr = freej.SdlScreen() + self.scr.init( 400 , 300 , 32 ) self.cx.add_screen( self.scr ) if len(sys.argv) > 1: @@ -143,7 +140,7 @@ class FreeJ(object): def delete_layer(self, layer, layer_idx=-1): layer.rem() # self.scr.rem_layer(layer) - freej.delete_layer(layer) + # freej.delete_layer(layer) def open_layer(self, filename): @@ -414,16 +411,16 @@ class App(FreeJ): def do_reset(self, button): #del self.cx - self.cx.reset() -# print " * delete controllers" -# for controller in list(self.cx.controllers): -# self.cx.rem_controller(controller) -# print " * delete layers" -# for layer in list(self.scr.layers): -# self.delete_layer(layer) -# print " * clear layers" -# print " * init context" -# #self.init_context() +# self.cx.reset() + print " * delete controllers" + for controller in list(self.cx.controllers): + self.cx.rem_controller(controller) + print " * delete layers" + for layer in list(self.scr.layers): + self.delete_layer(layer) + print " * clear layers" + print " * init context" + #self.init_context() print " * fill tree" self.fill_tree() @@ -527,22 +524,26 @@ class App(FreeJ): screens = self.main_model.append(None, ["Screens", 0, MENU, self.folder_icon, tooltip]) + layers = self.main_model.append(None, ["Layers", 0, MENU, + self.folder_icon, tooltip]) + for c_idx, screen in enumerate(self.cx.screens): c_iter = self.main_model.append(screens, [ "screen", c_idx, SCREEN, self.screen_icon, tooltip]) + for l_idx, layer in enumerate(screen.layers): name = layer.get_filename() if not name: name = layer.name lay_iter = self.main_model.append(layers, [name, l_idx, LAYER, self.layer_icon, tooltip]) - print layer.type - for f_idx, filter in enumerate(layer.filters): - iter = self.main_model.append(lay_iter, [filter.name, f_idx, - FILTER, - self.effect_icon, - tooltip]) +# print layer.type +# for f_idx, filter in enumerate(layer.filters): +# iter = self.main_model.append(lay_iter, [filter.name, f_idx, +# FILTER, +# self.effect_icon, +# tooltip]) controllers = self.main_model.append(None, ["Controllers", 0, MENU, self.folder_icon, tooltip]) diff --git a/scripts/python/test.py b/scripts/python/test.py index e8ec60e9..6105aee6 100644 --- a/scripts/python/test.py +++ b/scripts/python/test.py @@ -10,7 +10,7 @@ cx = freej.Context() cx.init() #cx.init(400,300,0,0) scr = freej.SdlScreen() -scr.init( 400, 300 ); +scr.init( 400, 300 , 32); cx.add_screen(scr) cx.config_check("keyboard.js") cx.plugger.refresh(cx) diff --git a/src/geo_layer.cpp b/src/geo_layer.cpp index 013ae6af..0d047fb1 100644 --- a/src/geo_layer.cpp +++ b/src/geo_layer.cpp @@ -50,7 +50,7 @@ GeoLayer::~GeoLayer() { bool GeoLayer::_init() { - surf = SDL_CreateRGBSurface(SDL_HWSURFACE, + surf = SDL_CreateRGBSurface(SDL_HWSURFACE | SDL_SRCALPHA, geo.w,geo.h,geo.bpp, red_bitmask,green_bitmask,blue_bitmask,alpha_bitmask); if(!surf) { diff --git a/src/layer.cpp b/src/layer.cpp index b2d5649e..1697442f 100644 --- a/src/layer.cpp +++ b/src/layer.cpp @@ -79,6 +79,7 @@ Layer::Layer() Layer::~Layer() { func("%s this=%p",__PRETTY_FUNCTION__, this); + active = false; FilterInstance *f = (FilterInstance*)filters.begin(); while(f) { f->rem(); // rem is contained in delete for Entry