/usr/lib/perl5/pods/SDL/Surface.pod is in libsdl-perl 2.540-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | =pod
=head1 NAME
SDL::Surface - Graphic surface structure
=head1 CATEGORY
Core, Video, Structure
=head1 SYNOPSIS
use SDL;
use SDL::Video;
use SDL::Surface;
# Create the main surface (display)
SDL::init(SDL_INIT_VIDEO);
my $display = SDL::Video::set_video_mode(640, 480, 16, SDL_SWSURFACE);
# Create other surfaces attached to the $display.
my $surface = SDL::Surface->new(SDL_ASYNCBLIT | SDL_HWSURFACE, 640, 480, 16, 0, 0, 0, 0);
my $surface2 = SDL::Surface->new_from($surface, 100, 100, 8, 0, 0, 0, 0);
=head1 DESCRIPTION
An C<SDL_Surface> defines a surfaceangular area of pixels.
=head1 CONSTANTS
The constants for SDL::Surface belong to SDL::Video, under the export tag of C<':surface'>.
=over 4
=item SDL_ASYNCBLIT
Use asynchronous blit if possible
=item SDL_SWSURFACE
Store in system memory
=item SDL_HWSURFACE
Store in video memory
=back
=head1 METHODS
=head2 new
my $surface = SDL::Surface->new(
$flags, $width, $height, $depth, $Rmask, $Gmask, $Bmask, $Amask
);
The constructor creates a new surface with the specified parameter values.
The four mask values are the bits that the channel will ignore.
For example, an Rmask of C<0xFF> will ignore that channel completely, making everything on the surface more green/blue.
=head2 new_from
my $surface = SDL::Surface->new_from(
$surface, $width, $height, $depth, $Rmask, $Gmask, $Bmask, $Amask
);
The constructor creates a new surface with the specified parameter values.
The flags are taken from the specified C<$surface>.
=head2 w
my $w = $surface->w;
Returns the width of the surface.
SDL::Surface width is defined at construction so this is read-only.
=head2 h
my $h = $surface->h;
Returns the height of the surface.
SDL::Surface height is defined at construction so this is read-only.
=head2 format
my $format = $surface->format;
The format of the pixels stored in the surface.
See L<SDL::PixelFormat>
=head2 pitch
my $pitch = $surface->pitch;
The scanline length in bytes.
=head1 Direct Write to Surface Pixel
B<Disclaimer:> The following methods can be very slow, making them suitable for creating surfaces, but not for animations
=head2 get_pixel
my $pixel = $surface->get_pixel( $offset )
Returns the numeric pixel value for the given C<$offset>.
The pixel value depends on current pixel format.
B<Note:> For surfaces with a palette (1 byte per pixel) the palette index is returned instead of color values.
=head2 set_pixels
$surface->set_pixels( $offset, $value );
Sets the pixel C<$value> to the given C<$offset>.
The pixel value must fit the pixel format of the surface.
B<Note>: For surfaces with a palette (1 byte per pixel) the palette index must be passed instead of color values.
Example:
sub putpixel {
my ($x, $y, $color) = @_;
$display->set_pixels( $x + $y * $display->w, $color);
}
See also F<examples/pixel_operations/sols/ch02.pl>!
=head2 get_pixels_ptr
my $ptr = $surface->get_pixels_ptr;
Returns a reference to the surface's pixels.
=head1 SEE ALSO
L<SDL>, L<SDL::PixelFormat>, L<SDL::Video>, L<SDL::Rect>
=head1 AUTHORS
See L<SDL/AUTHORS>.
=cut
|