[SCM] Lisaac compiler branch, master, updated. lisaac-0.12-528-ga5051b1

Benoit Sonntag sonntag at icps.u-strasbg.fr
Fri Oct 30 12:14:50 UTC 2009


The following commit has been merged in the master branch:
commit a5051b18e9ee866545c2ab2a84b553f06e4bc88c
Author: Benoit Sonntag <sonntag at icps.u-strasbg.fr>
Date:   Fri Oct 30 13:14:21 2009 +0100

    unstable

diff --git a/example/demomaker/fire/fire.li b/example/demomaker/fire/fire.li
index 36fe711..121d420 100644
--- a/example/demomaker/fire/fire.li
+++ b/example/demomaker/fire/fire.li
@@ -82,7 +82,7 @@ Section Public
   - init:G_EXPR <-
   ( 
     // Initialization bitmap.    
-    background := BITMAP(PIXEL_32).create (width_min,height_min);
+    background := BITMAP(PIXEL_32).create_size (width_min,height_min);
     bg := FAST_ARRAY2(UINTEGER_8).create (width_min>>2,height_min>>2+2);
     TIMER.add_client Self;
     G_RAW.create (Self.fix_height.fix_width)
diff --git a/example/demomaker/glass/glass.li b/example/demomaker/glass/glass.li
index 54eb1f2..18a5d75 100644
--- a/example/demomaker/glass/glass.li
+++ b/example/demomaker/glass/glass.li
@@ -45,8 +45,8 @@ Section Public
   
   - mask:FAST_ARRAY2(XY);
   
-  - x_origin:INTEGER;
-  - y_origin:INTEGER;
+  - x_ori:INTEGER;
+  - y_ori:INTEGER;
 
   - x_inc:INTEGER := 2;
   - y_inc:INTEGER := 2;
@@ -112,8 +112,8 @@ Section Public
     };
     w := fmt.width;
     h := fmt.height;
-    bitmap := BITMAP(PIXEL_32).create (w,h);
-    background := BITMAP(PIXEL_32).create (width_min,height_min);
+    bitmap := BITMAP(PIXEL_32).create_size (w,h);
+    background := BITMAP(PIXEL_32).create_size (width_min,height_min);
     fmt.put_image_in bitmap;    
     compute_mask;
     f.close;
@@ -164,12 +164,12 @@ Section Public
       
       0.to (size-1) do { y:INTEGER;      
         0.to (size-1) do { x:INTEGER;        
-          px := (x_origin + mask.item (x,y).x) & 0FFh;
-          py := (y_origin + mask.item (x,y).y) & 0FFh;
+          px := (x_ori + mask.item (x,y).x) & 0FFh;
+          py := (y_ori + mask.item (x,y).y) & 0FFh;
           col := bitmap.get_color_hard (px,py);
           bmp_line.put col to x;
         };      
-        background.line_h_hard (x_origin,y_origin+y) until (x_origin+size-1) image bmp_line offset 0;
+        background.line_h_hard (x_ori,y_ori+y) until (x_ori+size-1) image bmp_line offset 0;
       };        
     };
     put_bitmap background to (0,0);
@@ -194,12 +194,12 @@ Section Public
     
     evt_time ?= msg;    
     ((evt_time != NULL) && {evt_time.destination = NULL}).if {
-      x_origin := x_origin + x_inc;
-      y_origin := y_origin + y_inc;
-      ((x_origin <= 0) || {x_origin >= width - size}).if {
+      x_ori := x_ori + x_inc;
+      y_ori := y_ori + y_inc;
+      ((x_ori <= 0) || {x_ori >= width - size}).if {
         x_inc := -x_inc;
       };
-      ((y_origin <= 0) || {y_origin >= height - size}).if {
+      ((y_ori <= 0) || {y_ori >= height - size}).if {
         y_inc := -y_inc;
       };      
       is_new := TRUE;
diff --git a/example/demomaker/rotozoom/rotozoom.li b/example/demomaker/rotozoom/rotozoom.li
index 90ecce8..2099a01 100644
--- a/example/demomaker/rotozoom/rotozoom.li
+++ b/example/demomaker/rotozoom/rotozoom.li
@@ -91,7 +91,7 @@ Section Public
     };
     w := fmt.width;
     h := fmt.height;
-    bitmap := BITMAP(PIXEL_24).create (w,h);
+    bitmap := BITMAP(PIXEL_24).create_size (w,h);
     fmt.put_image_in bitmap;    
     f.close;
     TIMER.add_client Self;
@@ -107,7 +107,7 @@ Section Public
   - main <-
   (     
     // Init window.
-    VIDEO.make (width_min+64,height_min+64);
+    VIDEO.make_size (width_min+64,height_min+64);
     DESK.make VIDEO with (
       G_OUT.create "Rotozoom" justify (G_OUT.center) / init "./"
     );        
diff --git a/example/gui/about/about.li b/example/gui/about/about.li
index d6f093a..9c29598 100755
--- a/example/gui/about/about.li
+++ b/example/gui/about/about.li
@@ -70,7 +70,7 @@ Section Private
         f ?= e;        
         (f != NULL).if {
           ai_file := AI_FILE.clone;
-          picture := BITMAP(PIXEL_24).create (10,10);	
+          picture := BITMAP(PIXEL_24).create_size (10,10);	
           ai_file.fill_bitmap f in picture scale 1.5;	
           f.close;
         };
@@ -78,7 +78,7 @@ Section Private
     };
     (picture = NULL).if {
       // Error manager.
-      picture := BITMAP(PIXEL_24).create (100,80);
+      picture := BITMAP(PIXEL_24).create_size (100,80);
       picture.color (picture.red);
       picture.print "Error: Not found !" to (2,2);
     };
diff --git a/example/gui/desktop/desk_board.li b/example/gui/desktop/desk_board.li
index 27e08f6..684e556 100644
--- a/example/gui/desktop/desk_board.li
+++ b/example/gui/desktop/desk_board.li
@@ -56,7 +56,7 @@ Section Public
   - multimedia:G_WIN_OUT;
   - game:G_WIN_OUT;
     
-  - create path_dir:ABSTRACT_STRING :SELF <-
+  - create_with path_dir:ABSTRACT_STRING :SELF <-
   (         
     path_base := path_dir;
     isaac := G_WIN_OUT.create (
diff --git a/example/gui/desktop/desktop.li b/example/gui/desktop/desktop.li
index 3503446..23aecee 100644
--- a/example/gui/desktop/desktop.li
+++ b/example/gui/desktop/desktop.li
@@ -15,6 +15,6 @@ Section Public
 
     // Screen definition.
     DESK.make VIDEO scale (2,1) with (                  
-      DESK_BOARD.create "./".fix_height / G_RAW.create (G_IMG.create "isaac.ai")
+      DESK_BOARD.create_with "./".fix_height / G_RAW.create (G_IMG.create "isaac.ai")
     );    
   );
\ No newline at end of file
diff --git a/example/gui/mpg2/store.li b/example/gui/mpg2/store.li
index 61ee423..3c5552d 100644
--- a/example/gui/mpg2/store.li
+++ b/example/gui/mpg2/store.li
@@ -74,7 +74,7 @@ Section Public
     (output_type = 0).if {
       
       (screen = NULL).if {
-	screen := BITMAP(PIXEL_24).create (horizontal_size,vertical_size);
+	screen := BITMAP(PIXEL_24).create_size (horizontal_size,vertical_size);
       };      
       output src bitmap screen;
     } else {      
diff --git a/example/gui/viewer/viewer.li b/example/gui/viewer/viewer.li
index 82cd24b..cc4272d 100755
--- a/example/gui/viewer/viewer.li
+++ b/example/gui/viewer/viewer.li
@@ -31,7 +31,7 @@ Section Private
   - bitmap:ABSTRACT_BITMAP := 
   ( + result:ABSTRACT_BITMAP;
     
-    result := BITMAP(PIXEL_24).create (90,30);
+    result := BITMAP(PIXEL_24).create_size (90,30);
     result.color (result.red);
     result.print "No image" to (10,10);
     result
@@ -95,7 +95,7 @@ Section Private
     bmp := FORMAT_BMP.create_with buffer;
     (bmp != NULL).if {      
       ((bmp.width != bitmap.width) || {bmp.height != bitmap.height}).if {
-        bitmap.make (bmp.width,bmp.height);	  
+        bitmap.make_size (bmp.width,bmp.height);	  
       };      
       bmp.put_image_in bitmap;
       ((page != NULL) && {page.parent != NULL} && {page.width != width_min}).if {
diff --git a/example/shell/shell.li b/example/shell/shell.li
index 7052869..e51a343 100644
--- a/example/shell/shell.li
+++ b/example/shell/shell.li
@@ -49,42 +49,42 @@ Section Private
     //
     // Entry command.
     //
-    (cmd == "help").if {
+    (cmd ~= "help").if {
       help;
-    }.elseif {cmd == "ls"} then {
+    }.elseif {cmd ~= "ls"} then {
       ls;
-    }.elseif {cmd == "version"} then {
-      print "Small Lisaac shell Version 0.2\n";
-    }.elseif {cmd == "rm"} then {
+    }.elseif {cmd ~= "version"} then {
+      print_screen "Small Lisaac shell Version 0.2\n";
+    }.elseif {cmd ~= "rm"} then {
       rm;      
-    }.elseif {cmd == "mv"} then {
+    }.elseif {cmd ~= "mv"} then {
       mv;
     //  
     // Directory Manager.  
     //
-    }.elseif {cmd == "cd"} then {
+    }.elseif {cmd ~= "cd"} then {
       cd;
-    }.elseif {cmd == "mkdir"} then {
+    }.elseif {cmd ~= "mkdir"} then {
       mkdir;
     //  
     // File Manager.  
     //
-    }.elseif {cmd == "cat"} then {
+    }.elseif {cmd ~= "cat"} then {
       cat;
-    }.elseif {cmd == "mkfile"} then {
+    }.elseif {cmd ~= "mkfile"} then {
       mkfile;
-    }.elseif {(cmd == "exit") || {cmd == "bye"}} then {
+    }.elseif {(cmd ~= "exit") || {cmd ~= "bye"}} then {
       exit_shell;
     } else {
-      print "`";
-      print cmd;
-      print "\': Command not found.\n";
+      print_screen "`";
+      print_screen cmd;
+      print_screen "\': Command not found.\n";
     };
   );
   
   - help <-
   (
-    print
+    print_screen
     "Shell manager:\n\
     \  help                : Display this help.\n\
     \  exit / bye          : Exit Lisaac Shell.\n\
@@ -110,9 +110,9 @@ Section Private
     + f:STD_FILE;
     
     (dir.open).if_false {
-      print "`ls\': Permission denied.\n";
+      print_screen "`ls\': Permission denied.\n";
     } else {
-      print "----Access----  ----Update----  ---Size--   ----Name----\n";    
+      print_screen "----Access----  ----Update----  ---Size--   ----Name----\n";    
       dir.lower.to (dir.upper) do { i:INTEGER;
         e := dir.item i;
         string_tmp.clear;
@@ -137,7 +137,7 @@ Section Private
         };
         string_tmp.append (e.name);
         string_tmp.add_last '\n';
-        print string_tmp;
+        print_screen string_tmp;
       };
     };
   );
@@ -145,16 +145,16 @@ Section Private
   - mv <-
   ( + src,dst:STRING;
     (cmds.count < 3).if {
-      print "`mv\': Too few arguments.\n";
+      print_screen "`mv\': Too few arguments.\n";
     }.elseif {cmds.count != 3} then {
-      print "`mv\': Too many arguments.\n";
+      print_screen "`mv\': Too many arguments.\n";
     } else {
       src := cmds.item 1;
       dst := cmds.item 2;      
       (dir.move src to dst).if_false {
-        print "`mv\': cannot rename file `";
-        print dst;
-        print "\': Permission denied.\n";
+        print_screen "`mv\': cannot rename file `";
+        print_screen dst;
+        print_screen "\': Permission denied.\n";
       };
     };
   );
@@ -162,15 +162,15 @@ Section Private
   - rm <-
   ( + param:STRING;
     (cmds.count = 1).if {
-      print "`rm\': Too few arguments.\n";
+      print_screen "`rm\': Too few arguments.\n";
     }.elseif {cmds.count != 2} then {
-      print "`rm\': Too many arguments.\n";
+      print_screen "`rm\': Too many arguments.\n";
     } else {
       param := cmds.item 1;      
       (dir.remove param).if_false {
-        print "`rm\': cannot remove `";
-        print param;
-        print "\': Permission denied.\n";
+        print_screen "`rm\': cannot remove `";
+        print_screen param;
+        print_screen "\': Permission denied.\n";
       };
     };
   );
@@ -184,7 +184,7 @@ Section Private
     + param:STRING;
     
     (cmds.count > 2).if {
-      print "`cd\': Too many arguments.\n";
+      print_screen "`cd\': Too many arguments.\n";
     }.elseif {cmds.count = 1} then {      
       dir := FILE_SYSTEM;
     } else {
@@ -194,14 +194,14 @@ Section Private
         (e.is_directory).if {
           dir ?= e;                    
         } else {
-          print "`";
-          print param;
-          print "\': Not a directory.\n";
+          print_screen "`";
+          print_screen param;
+          print_screen "\': Not a directory.\n";
         };
       } else {
-        print "`";
-        print param;
-        print "\': No such file or directory.\n";
+        print_screen "`";
+        print_screen param;
+        print_screen "\': No such file or directory.\n";
       };
     };
   );
@@ -211,16 +211,16 @@ Section Private
     + param:STRING;
        
     (cmds.count = 1).if {
-      print "`mkdir\': Too few arguments.\n";
+      print_screen "`mkdir\': Too few arguments.\n";
     }.elseif {cmds.count != 2} then {
-      print "`mkdir\': Too many arguments.\n";
+      print_screen "`mkdir\': Too many arguments.\n";
     } else {
       param := cmds.item 1;
       e := dir.make_directory param;
       (e = NULL).if {
-        print "`";
-        print param;
-        print "\': File exists, cannot create directory.\n";
+        print_screen "`";
+        print_screen param;
+        print_screen "\': File exists, cannot create directory.\n";
       };
     };
   );
@@ -235,28 +235,28 @@ Section Private
     + file:STD_FILE;
     
     (cmds.count = 1).if {
-      print "`cat\': Too few arguments.\n";
+      print_screen "`cat\': Too few arguments.\n";
     }.elseif {cmds.count != 2} then {
-      print "`cat\': Too many arguments.\n";
+      print_screen "`cat\': Too many arguments.\n";
     } else {
       param := cmds.item 1;
       e := dir.get_entry param;
       ((e = NULL) || {! e.is_file}).if {
-        print "`";
-        print param;
-        print "\': No such file.\n";
+        print_screen "`";
+        print_screen param;
+        print_screen "\': No such file.\n";
       } else {
         file ?= e;
         (! file.open).if {
-          print "`";
-          print param;
-          print "\': Not open.\n";
+          print_screen "`";
+          print_screen param;
+          print_screen "\': Not open.\n";
         } else {          
           string_tmp.clear;
           string_tmp.set_capacity (file.size.to_integer);          
           file.read string_tmp size (file.size);
-          print string_tmp;
-          print "\n";
+          print_screen string_tmp;
+          print_screen "\n";
           file.close;
         };
       };
@@ -268,14 +268,14 @@ Section Private
     + param:STRING;
        
     (cmds.count = 1).if {
-      print "`mkfile\': Too few arguments.\n";
+      print_screen "`mkfile\': Too few arguments.\n";
     } else {
       param := cmds.item 1;
       f := dir.make_file param;
       (f = NULL).if {
-        print "`";
-        print param;
-        print "\': File exists, cannot create file.\n";
+        print_screen "`";
+        print_screen param;
+        print_screen "\': File exists, cannot create file.\n";
       }.elseif {cmds.count > 2} then {
         f.open;
         2.to (cmds.upper) do { j:INTEGER;
@@ -290,7 +290,7 @@ Section Private
   
   - exit_shell <-
   (    
-    print "Good bye.\n";
+    print_screen "Good bye.\n";
     (is_isaac).if {
       x_screen := y_screen := 0;
       my_window.close;
@@ -313,8 +313,8 @@ Section Public
     dir := FILE_SYSTEM;
     
     {
-      print (dir.path);
-      print " > ";
+      print_screen (dir.path);
+      print_screen " > ";
       command.clear;
       IO.read_line_in command;
       
@@ -336,7 +336,7 @@ Section Public
   
   - run s:ABSTRACT_STRING :G_WIN_OUT <-
   (
-    line_tmp  := BMP_LINE(PIXEL_32).create (VIDEO.width);
+    video_line_tmp  := BMP_LINE(PIXEL_32).create (VIDEO.width);
     x_screen := y_screen := 0;
     load_font s;
     command := STRING.create 100;    
@@ -372,7 +372,7 @@ Section Public
     mask_draw (x0,y0) to (x1,y1) color green;         
   );
   
-  - print st:ABSTRACT_STRING <-
+  - print_screen st:ABSTRACT_STRING <-
   ( + car:CHARACTER;
     + line:FAST_ARRAY(UINTEGER_16);
     
@@ -498,7 +498,7 @@ Section Private
     color_table.item idx
   );
   
-  + line_tmp:ABSTRACT_BMP_LINE;
+  + video_line_tmp:ABSTRACT_BMP_LINE;
   
   - y_command:INTEGER;
   
@@ -523,13 +523,13 @@ Section Private
     };
     y_screen := y_command;
     x_screen := 0;
-    print (dir.path);
-    print " > ";
+    print_screen (dir.path);
+    print_screen " > ";
     string_tmp.copy command;
     (is_actif).if {
       string_tmp.insert '|' to cursor;
     };
-    print string_tmp;
+    print_screen string_tmp;
     redraw (x_window,y_window+y_command) to (x_window+width-1,y_window+y_max);
   );
   
@@ -556,7 +556,7 @@ Section Public
 	// Enter
 	.when '\13\' then {
 	  update_command FALSE;
-	  print "\n";
+	  print_screen "\n";
 	  (command.is_empty).if_false {       
 	    cmds.clear;
 	    command.split_in cmds;
@@ -617,8 +617,8 @@ Section Public
     
     ofs.to (ofs+x2-x1) do { o:INTEGER;
       col := line.get_color o;
-      line_tmp.put (col_trans col) to o;      
+      video_line_tmp.put (col_trans col) to o;      
     };
-    parent_area_mask.slave_line_h_hard (x1,y) until x2 image line_tmp offset ofs;
+    parent_area_mask.slave_line_h_hard (x1,y) until x2 image video_line_tmp offset ofs;
   );
 
diff --git a/lib/format/ai/ai_parser.li b/lib/format/ai/ai_parser.li
index ada24cd..7d78930 100644
--- a/lib/format/ai/ai_parser.li
+++ b/lib/format/ai/ai_parser.li
@@ -1694,7 +1694,7 @@ Section Public
     height := (s *# height).ceiling;
     // BSBS: Avec b.make tu reallou de la mémoire, c'est à revoir ...
     ((width != b.width) || {height != b.height}).if {
-      b.make (width,height);
+      b.make_size (width,height);
       b.rectangle_fill (0,0) to ((width -1),(height - 1)) color 083AAD3h;
     };    
     (s <= 0).if {
diff --git a/lib/format/format_img.li b/lib/format/format_img.li
index ad7cb6f..93adf64 100644
--- a/lib/format/format_img.li
+++ b/lib/format/format_img.li
@@ -60,14 +60,14 @@ Section Public
   // Creation.
   //
 
-  - create_with_file file:STD_FILE :SELF <-
+  - create_with_file f:STD_FILE :SELF <-
   ( + result:SELF;
     result := clone;
-    result.make_with_file file;
+    result.make_with_file f;
     result
   );
 
-  - make_with_file file:STD_FILE <-
+  - make_with_file f:STD_FILE :SELF <-
   ( 
     deferred;
   );
@@ -79,7 +79,7 @@ Section Public
     result
   );
 
-  - make_with buf:FAST_ARRAY(UINTEGER_8) <-
+  - make_with buf:FAST_ARRAY(UINTEGER_8) :SELF <-
   ( 
     deferred;
   );
diff --git a/lib/graphics/bitmap.li b/lib/graphics/bitmap.li
index 9b9a7bf..7016b58 100755
--- a/lib/graphics/bitmap.li
+++ b/lib/graphics/bitmap.li
@@ -52,7 +52,7 @@ Section Public
   // Creation. 
   //
 
-  - make (w,h:INTEGER) <-
+  - make_size (w,h:INTEGER) <-
   (
     width  := w;
     height := h;
@@ -142,16 +142,16 @@ Section Public
     get_y_line y.put col to x;
   );
   
-  - line_h_hard (x,y:INTEGER) until x1:INTEGER color col:UINTEGER_32 <-
+  - line_h_hard (x0,y0:INTEGER) until x1:INTEGER color col:UINTEGER_32 <-
   ( 
     //image.item y.put col from x to x1;
-    get_y_line y.put col from x to x1;
+    get_y_line y0.put col from x0 to x1;
   );
     
-  - line_h_hard (x,y:INTEGER) until x1:INTEGER image line:ABSTRACT_BMP_LINE offset ofs:INTEGER <-
+  - line_h_hard (x0,y0:INTEGER) until x1:INTEGER image line:ABSTRACT_BMP_LINE offset ofs:INTEGER <-
   (     
     //image.item y.put line offset ofs from x to x1;
-    get_y_line y.put line offset ofs from x to x1;
+    get_y_line y0.put line offset ofs from x0 to x1;
   );
   
   - get_pixel_hard (x,y:INTEGER) :PIXEL <-
diff --git a/lib/graphics/low_level/abstract_bitmap.li b/lib/graphics/low_level/abstract_bitmap.li
index 0da75a3..ec3acb3 100755
--- a/lib/graphics/low_level/abstract_bitmap.li
+++ b/lib/graphics/low_level/abstract_bitmap.li
@@ -168,15 +168,15 @@ Section Public
   // Creation. 
   //
 
-  - create (w,h:INTEGER) :SELF <-
+  - create_size (w,h:INTEGER) :SELF <-
   ( + result:SELF;
         
     result:=clone;
-    result.make (w,h);
+    result.make_size (w,h);
     result
   );
   
-  - make (w,h:INTEGER) <-
+  - make_size (w,h:INTEGER) <-
   (
     deferred;
   );
@@ -205,12 +205,12 @@ Section Public
     deferred;
   );
   
-  - line_h_hard (x,y:INTEGER) until x1:INTEGER color col:UINTEGER_32 <-
+  - line_h_hard (x0,y0:INTEGER) until x1:INTEGER color col:UINTEGER_32 <-
   ( 
     deferred;
   );
     
-  - line_h_hard (x,y:INTEGER) until x1:INTEGER image line:ABSTRACT_BMP_LINE offset ofs:INTEGER <-
+  - line_h_hard (x0,y0:INTEGER) until x1:INTEGER image line:ABSTRACT_BMP_LINE offset ofs:INTEGER <-
   (     
     deferred;
   );
diff --git a/lib/gui/clipping/area.li b/lib/gui/clipping/area.li
index 058a414..61a9989 100755
--- a/lib/gui/clipping/area.li
+++ b/lib/gui/clipping/area.li
@@ -413,12 +413,12 @@ Section Public
   // Resize window.
   //
   
-  - resize (lx,ly:INTEGER) <-
+  - resize (w,h:INTEGER) <-
   // Resize window.
   ( + x0,y0,x1,y1:INTEGER;
     //? {parent!=NULL};
 
-    ((lx != width) || {ly != height}).if {
+    ((w != width) || {h != height}).if {
       (plan=NULL).if {
 	y0:=x0:=INTEGER.maximum.to_integer;
 	y1:=x1:=INTEGER.minimum.to_integer;
@@ -428,18 +428,18 @@ Section Public
 	y0:=plan.y0.value;    
 	y1:=plan.y1.value;
       };
-      width :=lx;
-      height:=ly;
+      width  := w;
+      height := h;
       sub_resize;
       clip_type1;
       clipping_off;
       (plan!=NULL).if {
-	x0:=x0.min (plan.x0.value);
-	x1:=x1.max (plan.x1.value);
-	y0:=y0.min (plan.y0.value);
-	y1:=y1.max (plan.y1.value);
+	x0 := x0.min (plan.x0.value);
+	x1 := x1.max (plan.x1.value);
+	y0 := y0.min (plan.y0.value);
+	y1 := y1.max (plan.y1.value);
       };
-      (x0<=x1).if {
+      (x0 <= x1).if {
 	redraw (x0,y0) to (x1,(y1-1));
       };
     };
diff --git a/lib/gui/clipping/area_mask.li b/lib/gui/clipping/area_mask.li
index 07538c2..34633e1 100755
--- a/lib/gui/clipping/area_mask.li
+++ b/lib/gui/clipping/area_mask.li
@@ -57,13 +57,13 @@ Section Public
     parent_area.make father from (x0,y0) size (w,h);    
   );
   
-  - resize (lx,ly:INTEGER) <-
+  - resize (w,h:INTEGER) <-
   (
-    mask.resize ly;
-    height.to (ly-1) do { y:INTEGER;
+    mask.resize h;
+    height.to (h-1) do { y:INTEGER;
       mask.put (FAST_ARRAY(UINTEGER_16).create_with_capacity 2) to y;
     };
-    parent_area.resize (lx,ly);
+    parent_area.resize (w,h);
   );
   
   //
diff --git a/lib/gui/g_img.li b/lib/gui/g_img.li
index 856f9f0..c75129c 100755
--- a/lib/gui/g_img.li
+++ b/lib/gui/g_img.li
@@ -115,13 +115,13 @@ Section Public
       };
       w := fmt.width;
       h := fmt.height;
-      bmp := BITMAP(PIXEL_24).create (w,h);
+      bmp := BITMAP(PIXEL_24).create_size (w,h);
       fmt.put_image_in bmp;          
       f.close;      
     }.elseif {entry.path.has_suffix ".ai"} then {      
       entry.open;      
       f ?= entry;
-      bmp := BITMAP(PIXEL_24).create (10,10);	
+      bmp := BITMAP(PIXEL_24).create_size (10,10);	
       ai_file := AI_FILE.clone;
       ai_file.fill_bitmap f in bmp scale 3;	
       f.close;
diff --git a/lib/string/abstract_string.li b/lib/string/abstract_string.li
index c4caf7a..9ae4d1c 100644
--- a/lib/string/abstract_string.li
+++ b/lib/string/abstract_string.li
@@ -146,7 +146,9 @@ Section Public
     result
   );
   
-  - Self:SELF '<' other:ABSTRACT_STRING :BOOLEAN <-
+  - Self:SELF '<' other:SELF :BOOLEAN <- Self ~< other;
+  
+  - Self:SELF '~<' other:ABSTRACT_STRING :BOOLEAN <-
   // Is Current less than `other' ?
   ( + i: INTEGER;
     + result: BOOLEAN;
diff --git a/lib_os/unix/video/mouse.li~ b/lib_os/unix/video/mouse.li~
index 8ac31e6..9832532 100755
--- a/lib_os/unix/video/mouse.li~
+++ b/lib_os/unix/video/mouse.li~
@@ -73,7 +73,7 @@ Section Public
   
 Section Private
   
-  + buffer_event:FAST_ARRAY[EVENT_MOUSE];
+  + buffer_event:FAST_ARRAY(EVENT_MOUSE);
   - p_beg:UINTEGER_8;  // Pointer on the buffer (beginning)
   - p_end:UINTEGER_8;  // Pointer on the buffer (end)
     
@@ -91,7 +91,7 @@ Section Public
     //
     // Software configuration.
     //
-    buffer_event := FAST_ARRAY[EVENT_MOUSE].create 4;
+    buffer_event := FAST_ARRAY(EVENT_MOUSE).create 4;
     0.to 3 do { j:INTEGER;
       new_event := EVENT_MOUSE.clone;
       buffer_event.put new_event to j;
@@ -102,7 +102,7 @@ Section Public
     buffer_event.first.set_prev new_event;
         
     // MASK
-    mask := FAST_ARRAY[UINTEGER_16].create 16;
+    mask := FAST_ARRAY(UINTEGER_16).create 16;
     make (DESK.physical_screen) from (x_current,y_current) size (16,16);
   );
   
@@ -137,7 +137,7 @@ Section Public
   // BSBS: A refaire avec une bitmap en dehors contenant le dessin avec une couleur de mask!!
   // Plus simple, plus puissant, plus rapide !
   
-  + mask:FAST_ARRAY[UINTEGER_16];
+  + mask:FAST_ARRAY(UINTEGER_16);
 
   - pixel_hard (x,y:INTEGER) color col:UINTEGER_32 <-
   ( + m:UINTEGER_16;
@@ -147,7 +147,6 @@ Section Public
     m:=mask.item y;
     m:=m | (1<<x);
     mask.put m to y;
-
     parent_window.pixel_hard (x,y) color col;
   );
   
@@ -238,26 +237,31 @@ Section Public
   - extern_event_move (x,y:INTEGER) <-
   (
     `XTestFakeMotionEvent(display,-1, at x, at y,1)`;
+    `XFlush(display)`;
   );
 
   - extern_event_left_down <-
   (
     `XTestFakeButtonEvent(display,1,True,1)`;      
+    `XFlush(display)`;
   );
 
   - extern_event_left_up <-
   (
     `XTestFakeButtonEvent(display,1,False,1)`;      
+    `XFlush(display)`;
   );
   
   - extern_event_right_down <-
   (
     `XTestFakeButtonEvent(display,3,True,1)`;      
+    `XFlush(display)`;
   );
 
   - extern_event_right_up <-
   (
     `XTestFakeButtonEvent(display,3,False,1)`;      
+    `XFlush(display)`;
   );
   
   - extern_get_mouse:(INTEGER,INTEGER,BOOLEAN,BOOLEAN) <-
diff --git a/lib_os/unix/video/video.li b/lib_os/unix/video/video.li
index da07f18..087efa8 100755
--- a/lib_os/unix/video/video.li
+++ b/lib_os/unix/video/video.li
@@ -77,7 +77,7 @@ Section Public
     clipping_off;
   );
   
-  - make (w,h:INTEGER) <-
+  - make_size (w,h:INTEGER) <-
   ( + data:NATIVE_ARRAY(UINTEGER_8);
     + w_max:INTEGER;
     
@@ -137,7 +137,7 @@ Section Public
   
   - auto_make <-
   (
-    make (800,600);
+    make_size (800,600);
   );
   
   - close <-
@@ -178,7 +178,7 @@ Section Public
     `XDrawPoint(display,window,gc, at x, at y)`;
   );
   
-  - line_h_hard (x,y:INTEGER) until x1:INTEGER color col:UINTEGER_32 <-
+  - line_h_hard (x0,y0:INTEGER) until x1:INTEGER color col:UINTEGER_32 <-
   ( + real_col:UINTEGER_32;
     + m:UINTEGER_8;
     
@@ -198,16 +198,16 @@ Section Public
     m := mode;
     `XSetForeground(display,gc,(int)@real_col)`;
     `XSetFunction(display,gc,(int)@m)`;
-    `XDrawLine(display,window,gc, at x, at y, at x1, at y)`;
+    `XDrawLine(display,window,gc, at x0, at y0, at x1, at y0)`;
   );
     
-  - line_h_hard (x,y:INTEGER) until x1:INTEGER 
+  - line_h_hard (x0,y0:INTEGER) until x1:INTEGER 
   image line:ABSTRACT_BMP_LINE offset ofs:INTEGER <-
   ( + len:INTEGER;
 
-    len := x1 - x;    
+    len := x1 - x0;    
     VIDEO.line_tmp.put line offset ofs from 0 to len;
-    `XPutImage(display,window,gc, ximage, 0, 0, @x, @y, @len+1, 1)`;
+    `XPutImage(display,window,gc, ximage, 0, 0, @x0, @y0, @len+1, 1)`;
   );
   
   - get_pixel_hard (x,y:INTEGER) :PIXEL <-
diff --git a/lib_os/unix/video/video.li~ b/lib_os/unix/video/video.li~
index d9d674a..da07f18 100755
--- a/lib_os/unix/video/video.li~
+++ b/lib_os/unix/video/video.li~
@@ -36,7 +36,7 @@ Section Header
 #include <X11/Xlib.h>
 
 // For Frame buffer.
-#include <X11/extensions/XTest.h>  
+//#include <X11/extensions/XTest.h>  
 #include <linux/fb.h>
 #include <sys/mman.h>
 #include <fcntl.h>

-- 
Lisaac compiler



More information about the Lisaac-commits mailing list