X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pages%2FSDL-Cursor.html-inc;h=ff7314f49b4b7cb7765860945225b1f9c0ffb846;hb=a3de848879a5553418ed11fb193c4bf286ca7120;hp=805a7093c2a9a2d1adc2f6f0782b756322a334c2;hpb=46beffd8f76fe150d946bf61c780e61de2affbdf;p=sdlgit%2FSDL-Site.git diff --git a/pages/SDL-Cursor.html-inc b/pages/SDL-Cursor.html-inc index 805a709..ff7314f 100644 --- a/pages/SDL-Cursor.html-inc +++ b/pages/SDL-Cursor.html-inc @@ -10,7 +10,7 @@ -
  • AUTHOR
  • +
  • AUTHORS
  • SEE ALSO

  • @@ -18,7 +18,7 @@

    NAME

    Top

    -

    SDL::Cursor -- Mouse cursor structure

    +

    SDL::Cursor - Mouse cursor structure

    CATEGORY

    Top

    @@ -34,7 +34,8 @@ $width, $height, $hotspot_left, - $hotspot_top ); + $hotspot_top + ); SDL::Mouse::set_cursor($cursor); @@ -43,9 +44,8 @@

    DESCRIPTION

    Top

    -

    the SDL::Cursor module handles mouse cursors, and provide the developer to -use custom made cursors. Note that the cursors can only be in black and -white.

    +

    The SDL::Cursor module handles mouse cursors, and allows the developer to use custom-made cursors. +Note that cursors can only be in black and white.

    METHODS

    Top

    @@ -54,8 +54,13 @@ white.

    new

    -

    Create a cursor using the specified data and mask (in MSB format). The cursor width must be a multiple of 8 bits.

    -

    The cursor is created in black and white according to the following:

    +
     my $cursor = SDL::Cursor->new(
    +     \@data, \@mask, $width, $height, $hotspot_left, $hotspot_top
    + );
    +
    +
    +

    Create a cursor using the specified data and mask (in MSB format). +The cursor is created in black and white according to the following:

     Data / Mask   Resulting pixel on screen
         0 / 1      White
         1 / 1      Black
    @@ -63,17 +68,17 @@ white.

    1 / 0 Inverted color if possible, black if not.
    -

    Cursors created with this function must be freed with SDL_FreeCursor.

    -

    If you want to have color cursor, then this function is not for you; instead, you must hide normal system cursor with SDL::Cursor-new> -and in your main loop, when you draw graphics, also draw a SDL::Surface at the location of the mouse cursor.

    +

    If you want to have color cursor, then this function is not for you. +Instead, you should hide the cursor with SDL::Mouse::show_cursor(SDL_DISABLE). +Then in your main loop, when you draw graphics, draw a SDL::Surface at the location of the mouse cursor.

    Example:

     use SDL;
    - use SDL::Cursor;
    - use SDL::Mouse;
      use SDL::Video;
    + use SDL::Mouse;
    + use SDL::Cursor;
     
      SDL::init(SDL_INIT_VIDEO);
    - SDL::Video::set_video_mode( 640, 480, 16, SDL_SWSURFACE);
    + SDL::Video::set_video_mode(640, 480, 16, SDL_SWSURFACE);
     
      my @data = (
          0b00000000,
    @@ -85,7 +90,6 @@ and in your main loop, when you draw graphics, also draw a SDL::SurfaceSDL::Surface
    +

    The width of cursors work in groups of 8. +If the width is above 8, twice the amount of elements in @data and @mask are required. +If the width is above 16, three times are required, and so on. +For example, if you wanted a 9 pixel crosshair you might do the following:

    +
     my @data = (
    +     0b00001000,0b00000000,
    +     0b00001000,0b00000000,
    +     0b00001000,0b00000000,
    +     0b00001000,0b00000000,
    +     0b11111111,0b10000000,
    +     0b00001000,0b00000000,
    +     0b00001000,0b00000000,
    +     0b00001000,0b00000000,
    +     0b00001000,0b00000000,
    + );
    + my @mask = @data;
    +
    + my $cursor = SDL::Cursor->new(\@data, \@mask, 9, 9, 4, 4);
    +
    +
    +

    The hotspot is offset by 4 pixels because a crosshair clicks from the center instead of the top left.

    -

    AUTHOR

    Top

    -
    -

    David J. Goehrig, Tobias Leich

    +

    AUTHORS

    Top

    +
    +

    See AUTHORS in SDL.

    + + + +

    SEE ALSO

    Top

    \ No newline at end of file