Difference between revisions of "Modules/print/Usage"
From MSX Game Library
Line 1: | Line 1: | ||
Use of this module begins with the initialization of a font. Then you can use all the functions to display text. | Use of this module begins with the initialization of a font. Then you can use all the functions to display text. | ||
− | You have several render mode | + | === Modes === |
+ | You have several font render modes. | ||
+ | |||
+ | ==== Text ==== | ||
+ | Draw characters as pattern names (text mode). Need {{C|PRINT_USE_TEXT}} compile option. | ||
+ | |||
+ | // > PRINT_MODE_BITMAP Draw characters from RAM (R-T unpack font data and draw it). Need PRINT_USE_BITMAP or PRINT_USE_VRAM compile option. | ||
+ | // > PRINT_MODE_BITMAP_TRANS Draw characters from RAM with transparency (R-T unpack font data and draw it). Need PRINT_USE_BITMAP or PRINT_USE_VRAM compile option. | ||
+ | // > PRINT_MODE_BITMAP_VRAM Draw characters from VRAM (font data is upack once in VRAM thne drawing is done by VRAM copy). Need PRINT_USE_VRAM compile option. | ||
+ | // > PRINT_MODE_SPRITE Draw characters from sprites (load font data as sprite pattern in VRAM then display characters using sprite system). Need PRINT_USE_SPRITE compile option. | ||
+ | |||
+ | |||
* Text (using tiles/characters set for tiled-based screen modes), | * Text (using tiles/characters set for tiled-based screen modes), | ||
* Bitmap (draw text from RAM to VRAM for bitmap screen modes), | * Bitmap (draw text from RAM to VRAM for bitmap screen modes), | ||
Line 42: | Line 53: | ||
Print_DrawText("SPRT"); | Print_DrawText("SPRT"); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | === Font mode compatibility matrix === |
Revision as of 18:04, 13 January 2025
Use of this module begins with the initialization of a font. Then you can use all the functions to display text.
Modes
You have several font render modes.
Text
Draw characters as pattern names (text mode). Need PRINT_USE_TEXT compile option.
// > PRINT_MODE_BITMAP Draw characters from RAM (R-T unpack font data and draw it). Need PRINT_USE_BITMAP or PRINT_USE_VRAM compile option. // > PRINT_MODE_BITMAP_TRANS Draw characters from RAM with transparency (R-T unpack font data and draw it). Need PRINT_USE_BITMAP or PRINT_USE_VRAM compile option. // > PRINT_MODE_BITMAP_VRAM Draw characters from VRAM (font data is upack once in VRAM thne drawing is done by VRAM copy). Need PRINT_USE_VRAM compile option. // > PRINT_MODE_SPRITE Draw characters from sprites (load font data as sprite pattern in VRAM then display characters using sprite system). Need PRINT_USE_SPRITE compile option.
- Text (using tiles/characters set for tiled-based screen modes),
- Bitmap (draw text from RAM to VRAM for bitmap screen modes),
- Bitmap with transparency.
- VRAM (put font on VRAM and draw from there; slower to initialize, quicker to draw),
- Sprite (draw text using sprites).
Example using tile-based render mode:
#include "font/font_mgl_sample8.h" VDP_SetMode(VDP_MODE_SCREEN1); // Initialize screen mode 1 (tiled-base mode) Print_SetTextFont(g_Font_MGL_Sample8, 1); // Upload font tile-set from index 1 Print_SetPosition(10, 10); // Position in tile grid unit Print_DrawText("Text mode");
Example using bitmap render mode for MSX2:
#include "font/font_mgl_sample6.h" VDP_SetMode(VDP_MODE_SCREEN5); // Initialize screen mode 5 (bitmap mode) Print_SetBitmapFont(g_Font_MGL_Sample6); // Initialize bitmap font Print_SetOutline(TRUE, COLOR_GRAY); // Set outline effect Print_SetPosition(100, 100); // Position in pixel unit Print_DrawText("Bitmap mode"); Print_SetVRAMFont(g_Font_MGL_Sample6, 212, COLOR_WHITE); Print_SetPosition(100, 150); // Position in pixel unit Print_DrawText("VRAM mode");
Example using sprite render mode:
#include "font/font_mgl_sample8.h" VDP_SetMode(VDP_MODE_SCREEN1); // Initialize screen mode 1 (tiled-base mode) Print_SetSpriteFont(g_Font_MGL_Sample8, 0, 0); Print_SetPosition(100, 50); // Position in pixel unit Print_DrawText("SPRT");