pods::SDL::Pango(3pm)
πΈ NAME πΈ
SDL::Pango - Text rendering engine. This page is pods::SDL::Pango(3pm) from the User Contributed Perl Documentation, and it's literally here to make text render on your SDL surfaces. β¨
π CATEGORY π
Pango. That's the category, bestie. π¦
π SYNOPSIS π
okay so here's the whole starter pack, copy-paste ready:
use SDL;
use SDL::Color;
use SDL::Surface;
use SDL::Overlay;
use SDL::Rect;
use SDL::Video;
use SDL::PixelFormat;
use SDL::Pango;
use SDL::Pango::Context;
SDL::Pango::init();
my $context = SDL::Pango::Context->new;
SDL::Pango::set_default_color($context, 0xA7C344FF, 0);
SDL::Pango::set_markup($context, 'Hello <b>W<span foreground="red">o</span><i>r</i><u>l</u>d</b>!', -1);
SDL::init(SDL_INIT_VIDEO);
my $display = SDL::Video::set_video_mode(640, 480, 32, SDL_SWSURFACE);
my $bg = SDL::Video::map_RGB($display->format, 0x12, 0x22, 0x45);
SDL::Video::fill_rect($display, SDL::Rect->new(0, 0, 640, 480), $bg);
my $surface = SDL::Pango::create_surface_draw($context);
SDL::Video::blit_surface($surface, SDL::Rect->new(0, 0, 640, 480), $display, SDL::Rect->new(0, 0, 640, 480));
SDL::Video::update_rect($display, 0, 0, 0, 0);
SDL::delay(2000);
β¨ CONSTANTS β¨
The constants are exported by default. You can avoid this by doing:
use SDL::Pango ();
and access them directly:
SDL::Pango::SDLPANGO_DIRECTION_NEUTRAL;
or by choosing the export tags below:
π Export tag: ':align'
SDLPANGO_ALIGN_LEFTβ Left alignmentSDLPANGO_ALIGN_CENTERβ CenteredSDLPANGO_ALIGN_RIGHTβ Right alignment
π¦ Export tag: ':direction'
SDLPANGO_DIRECTION_LTRβ Left to rightSDLPANGO_DIRECTION_RTLβ Right to leftSDLPANGO_DIRECTION_WEAK_LTRβ Left to right (weak)SDLPANGO_DIRECTION_WEAK_RTLβ Right to left (weak)SDLPANGO_DIRECTION_NEUTRALβ Neutral
π« METHODS π«
π init π
SDL::Pango::init();
Initialize the Glib and Pango API. This must be called before using other functions in this library, excepting SDL::Pango::was_init. SDL does not have to be initialized before this call.
Returns: always 0.
π¦ was_init π¦
my $was_init = SDL::Pango::was_init();
Query the initialization status of the Glib and Pango API. You may, of course, use this before SDL::Pango::init to avoid initializing twice in a row.
Returns: Non-zero when already initialized. Zero when not initialized.
π set_default_color π
SDL::Pango::set_default_color($context, $foreground, $background);
SDL::Pango::set_default_color($context, $r1, $g1, $b1, $a1, $r2, $g2, $b2, $a2);
Sets default foreground and background color when rendering text and markup.
You can call it with either 2 color-parameters (32-bit RRGGBBAA values), or with 4 separate values for foreground and 4 separate values for background.
πΈ set_minimum_size πΈ
SDL::Pango::set_minimum_size($context, $width, $height);
Sets the minimum size of the drawing rectangle.
π
set_text π
SDL::Pango::set_text($context, $text, $length);
SDL::Pango::set_text($context, $text, $length, $alignment);
Set plain text to context. Text must be utf-8. $length chars will be rendered, pass -1 to render the whole text.
$alignment can be:
SDLPANGO_ALIGN_LEFT(default)SDLPANGO_ALIGN_CENTERSDLPANGO_ALIGN_RIGHT
π set_markup π
SDL::Pango::set_markup($context, $text, $length);
Set markup text to context. Text must be utf-8. $length chars will be rendered, pass -1 to render the whole text.
See PangoMarkupFormat (http://library.gnome.org/devel/pango/unstable/PangoMarkupFormat.html) for a description about the markup format.
β get_layout_width β
my $w = SDL::Pango::get_layout_width($context);
Returns the width of the resulting surface of the given text/markup for this context.
β get_layout_height β
my $h = SDL::Pango::get_layout_height($context);
Returns the height of the resulting surface of the given text/markup for this context.
π§ set_base_direction π§
SDL::Pango::set_base_direction($context, $direction);
Sets the direction of the text to either left-to-right or right-to-left.
See CONSTANTS.
π set_dpi π
SDL::Pango::set_dpi($context, $dpi_x, $dpi_y);
Sets the DPI (dots per inch) for this context. Default is 96.
π set_language π
SDL::Pango::set_language($context, $language);
Sets the language name for this context.
See ISO639-2 (http://www.loc.gov/standards/iso639-2/php/code_list.php).
Example:
SDL::Pango::set_language($context, "en");
π₯ draw π₯
SDL::Pango::draw($context, $display, $x, $y);
Draws the text or markup to an existing surface at position $x/$y.
π set_surface_create_args π
SDL::Pango::set_surface_create_args($context, $flags, $bits, $r_mask, $g_mask, $b_mask, $a_mask);
Sets the argument that are used when creating a surface via SDL::Pango::create_surface_draw.
Example:
SDL::Pango::set_surface_create_args(
$context,
SDL_SWSURFACE,
32,
0xFF000000,
0x00FF0000,
0x0000FF00,
0x000000FF
);
π create_surface_draw π
my $surface = SDL::Pango::create_surface_draw($context);
Creates a new surface and draws the text/markup. You can specify the attributes of the surfaces using SDL::Pango::set_surface_create_args.
π«Ά AUTHORS π«Ά
See AUTHORS in SDL.
π SEE ALSO π
SDL::Pango::ContextSDL::VideoSDL::SurfaceSDL::TTF
okay that's the entire page, bestie! π This was pods::SDL::Pango(3pm) from perl v5.42.0, dated 2024-05-01. Mwah! π«Ά
π¦ where this page comes from
- opensuse-leap 16.0: perl-SDL 2.548-bp160.1.13 Β· LGPL-2.1-or-later
- opensuse-leap 16.0: perl-SDL 2.548-bp160.1.13 Β· LGPL-2.1-or-later
- opensuse-leap 16.0: perl-SDL 2.548-bp160.1.13 Β· LGPL-2.1-or-later
- opensuse-leap 16.0: perl-SDL 2.548-bp160.1.13 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms