pods::...tozoom(3pm)

πŸ“¦ version 2.548, in opensuse-leap 16.0

πŸŽ€ pods::...tozoom(3pm) πŸŽ€

okay bestie, welcome to the manual page for pods::...tozoom(3pm) from the User Contributed Perl Documentation. it's giving SDL::GFX::Rotozoom β€” rotation and zooming functions for surfaces β€” and yes, every method, note, example, and reference is still here. no cap πŸ’…


✨ NAME ✨

SDL::GFX::Rotozoom β€” rotation and zooming functions for surfaces

🌈 CATEGORY 🌈

GFX β€” that's the category, periodt.

🧚 CONSTANTS 🧚

The constants are exported by default. You can avoid this by doing:

use SDL::GFX::Rotozoom ();

and access them directly:

SDL::GFX::Rotozoom::SMOOTHING_OFF;

or by choosing the export tags below:

Export tag: ':smoothing'

  • SMOOTHING_OFF
  • SMOOTHING_ON

πŸ’… METHODS πŸ’…

here's the whole roster, bestie. signatures stay exactly as written; the vibes are the only thing getting a glow-up ✨

πŸŒ€ surface

my $new_surface = SDL::GFX::Rotozoom::surface( $surface, $angle, $zoom, $smooth );

With SDL::GFX::Rotozoom::surface you have the opportunity to rotate and zoom a given surface. The surface will be rotated counter clockwise (in degrees). Pass SMOOTHING_ON or SMOOTHING_OFF in order to turn it on or off.

Note: The new surface (with $"zoom == 1") will usually be bigger than the source $surface.

Note: Note: new surface should be less than 16384 in width and height.

Example:

use SDL;
use SDL::Video;
use SDL::Rect;
use SDL::Surface;
use SDL::GFX::Rotozoom;

my $screen_width  = 640;
my $screen_height = 480;

SDL::init(SDL_INIT_VIDEO);

my $screen  = SDL::Video::set_video_mode(800, 600, 32, SDL_SWSURFACE);
my $picture = SDL::Video::load_BMP('test.bmp');

my $rotated = SDL::GFX::Rotozoom::surface( $picture, 45, 0.8, SMOOTHING_ON );

SDL::Video::blit_surface( $rotated, SDL::Rect->new(0, 0, $rotated->w, $rotated->h),
                          $screen,  SDL::Rect->new(0, 0, 0, 0) );

SDL::Video::update_rect( $screen, 0, 0, 0, 0 );

sleep(2);

πŸ”₯ surface_xy

my $new_surface = SDL::GFX::Rotozoom::surface_xy( $surface, $angle, $zoom_x, $zoom_y, $smooth );

Same as SDL::GFX::Rotozoom::surface but you can specify the zoomlevel for x and y separately.

πŸ’– surface_size

my ($new_width, $new_height) = @{ SDL::GFX::Rotozoom::surface_size( $width, $height, $angle, $zoom ) };

surface_size will give you the width and height of an rotating/zoom operation for the given $width and $height. Helpful for knowing the surface size before actually do the rotating/zoom operation.

πŸ¦‹ surface_size_xy

my ($new_width, $new_height) = @{ SDL::GFX::Rotozoom::surface_size_xy( $width, $height, $angle, $zoom_x, $zoom_y ) };

Same as SDL::GFX::Rotozoom::surface_size but you can specify the zoomlevel for x and y separately.

⭐ zoom_surface

my $new_surface = SDL::GFX::Rotozoom::zoom_surface( $surface, $zoom_x, $zoom_y, $smooth );

Same as SDL::GFX::Rotozoom::surface_xy except you can zoom only.

🌸 zoom_surface_size

my ($new_width, $new_height) = SDL::GFX::Rotozoom::zoom_surface_size( $width, $height, $zoom_x, $zoom_y );

Same as SDL::GFX::Rotozoom::surface_size_xy except you can specify zoom only.

πŸŽ€ shrink_surface

my $new_surface = SDL::GFX::Rotozoom::shrink_surface( $surface, $factor_x, $factor_y );

Specialized function for shrinking a surface.

πŸ‘‘ rotate_surface_90_degrees

my $new_surface = SDL::GFX::Rotozoom::rotate_surface_90_degrees( $surface, $num_clockwise_turns );

Rotating a surface $num_clockwise_turns-times.

🫢 AUTHORS 🫢

See "AUTHORS" in SDL.


okay that's the whole page, bestie. this iconic little number is from pods::...tozoom(3pm), perl v5.42.0, dated 2024-05-01. go rotate something cute πŸ’–βœ¨

πŸ“¦ where this page comes from