X-Git-Url: http://nitlanguage.org diff --git a/lib/sdl.nit b/lib/sdl.nit index c5e1ec9..3bbabb5 100644 --- a/lib/sdl.nit +++ b/lib/sdl.nit @@ -14,13 +14,13 @@ # 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