compiler: handle multi-iterators
[nit.git] / lib / sdl.nit
index c5e1ec9..3bbabb5 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# SDL display support (used in Linux for windows and inputes only)
+# Simple DirectMedia Layer
 module sdl is
        cflags exec("sdl-config", "--cflags")
        ldflags(exec("sdl-config", "--libs"), "-lSDL_image -lSDL_ttf")
 end
 
-import mnit_display
+import mnit::display
 import c
 
 in "C header" `{
@@ -77,15 +77,15 @@ extern class SDLDisplay `{SDL_Surface *`}
                SDL_FillRect(self, NULL, SDL_MapRGB(self->format,r,g,b));
        `}
 
-       redef fun width: Int `{ return self->w; `}
-       redef fun height: Int `{ return self->h; `}
+       redef fun width `{ return self->w; `}
+       redef fun height `{ return self->h; `}
 
        # Fill a rectangle with given color
        fun fill_rect(rect: SDLRectangle, r, g, b: Int) `{
                SDL_FillRect(self, rect,  SDL_MapRGB(self->format,r,g,b));
        `}
 
-       redef fun clear(r, g, b: Float) `{
+       redef fun clear(r, g, b) `{
                Uint8 ri, gi, bi;
                ri = (Uint8)r*255;
                gi = (Uint8)g*255;
@@ -164,13 +164,13 @@ extern class SDLDisplay `{SDL_Surface *`}
        fun show_cursor=(val: Bool) `{ SDL_ShowCursor(val? SDL_ENABLE: SDL_DISABLE); `}
 
        # Is the cursor visible?
-       fun show_cursor: Bool `{ SDL_ShowCursor(SDL_QUERY); `}
+       fun show_cursor: Bool `{ return SDL_ShowCursor(SDL_QUERY); `}
 
        # Grab or release the input
        fun grab_input=(val: Bool) `{ SDL_WM_GrabInput(val? SDL_GRAB_ON: SDL_GRAB_OFF); `}
 
        # Is the input grabbed?
-       fun grab_input: Bool `{ SDL_WM_GrabInput(SDL_GRAB_QUERY) == SDL_GRAB_ON; `}
+       fun grab_input: Bool `{ return SDL_WM_GrabInput(SDL_GRAB_QUERY) == SDL_GRAB_ON; `}
 
        # Are instances of `SDLMouseMotionEvent` ignored?
        fun ignore_mouse_motion_events: Bool `{
@@ -247,16 +247,16 @@ extern class SDLImage
        # Destroy the image and free the memory
        redef fun destroy `{ SDL_FreeSurface(self); `}
 
-       redef fun width: Int `{ return self->w; `}
-       redef fun height: Int `{ return self->h; `}
+       redef fun width `{ return self->w; `}
+       redef fun height `{ return self->h; `}
 
        fun is_ok: Bool do return not address_is_null
 
        # Returns a reference to the pixels of the texture
        fun pixels: NativeCByteArray `{ return self->pixels; `}
 
-       # Does this texture has an alpha mask?
-       fun amask: Bool `{ return self->format->Amask; `}
+       # Mask for the alpha value of each pixel
+       fun amask: Int `{ return self->format->Amask; `}
 end
 
 # A simple rectangle
@@ -309,8 +309,8 @@ class SDLMouseButtonEvent
 
        var button: Int
 
-       redef var pressed: Bool
-       redef fun depressed: Bool do return not pressed
+       redef var pressed
+       redef fun depressed do return not pressed
 
        # Is this event raised by the left button?
        fun is_left_button: Bool do return button == 1
@@ -355,8 +355,8 @@ class SDLMouseMotionEvent
        var rel_x: Float
        var rel_y: Float
 
-       redef var pressed: Bool
-       redef fun depressed: Bool do return not pressed
+       redef var pressed
+       redef fun depressed do return not pressed
 
        init (x, y, rel_x, rel_y: Float, pressed: Bool)
        do
@@ -384,7 +384,7 @@ class SDLKeyEvent
                self.down = down
        end
 
-       redef fun to_c: nullable Char
+       redef fun to_c
        do
                if name.length == 1 then return name.chars.first
                return null