39 RendererInitOptions(u32 sdl_flags, u32 render_flags, u32 w = 1280, u32 h = 720) : SDLFlags(sdl_flags), RenderFlags(render_flags), Width(w), Height(h) {}
45 if(default_font_path.HasAny()) this->DefaultFontPath = default_font_path;
46 else this->InitPL =
true;
52 this->DefaultFontExtraSizes.push_back(font_size);
58 this->InitMixer =
true;
59 this->MixerFlags = flags;
66 this->IMGFlags = flags;
72 this->InitRomFs =
true;
77 static constexpr u32
MixerAllFlags = (MIX_INIT_FLAC | MIX_INIT_MOD | MIX_INIT_MP3 | MIX_INIT_OGG);
78 static constexpr u32
IMGAllFlags = (IMG_INIT_PNG | IMG_INIT_JPG | IMG_INIT_TIF | IMG_INIT_WEBP);
103 bool HasInitialized();
106 void FinalizeRender();
109 void RenderRectangleFill(Color Color,
i32 X,
i32 Y,
i32 Width,
i32 Height);
110 void RenderRectangleOutline(Color Color, u32 X, u32 Y, u32 Width, u32 Height, u32 BorderWidth);
111 void RenderRoundedRectangle(Color Color,
i32 X,
i32 Y,
i32 Width,
i32 Height,
i32 Radius);
112 void RenderRoundedRectangleFill(Color Color,
i32 X,
i32 Y,
i32 Width,
i32 Height,
i32 Radius);
113 void RenderCircle(Color Color,
i32 X,
i32 Y,
i32 Radius);
114 void RenderCircleFill(Color Color,
i32 X,
i32 Y,
i32 Radius);
115 void RenderShadowSimple(
i32 X,
i32 Y,
i32 Width,
i32 Height,
i32 BaseAlpha, u8 MainAlpha = 255);
116 void SetBaseRenderPosition(
i32 X,
i32 Y);
117 void UnsetBaseRenderPosition();
118 void SetBaseRenderAlpha(u8 Alpha);
119 void UnsetBaseRenderAlpha();
146 std::string font_name =
"DefaultFont@" + std::to_string(font_size);
152 std::string font_name =
"DefaultFont@" + std::to_string(font_size);
i32 AlphaMod
Definition: render_Renderer.hpp:84
Definition: pu_String.hpp:21
RendererInitOptions WithMixer(u32 flags)
Definition: render_Renderer.hpp:56
i32 Width
Definition: render_Renderer.hpp:85
RendererInitOptions WithDefaultFontSize(u32 font_size)
Definition: render_Renderer.hpp:50
bool InitRomFs
Definition: render_Renderer.hpp:37
Definition: ui_Types.hpp:24
i32 GetTextHeight(String font_name, String Text)
sdl2::Renderer GetMainRenderer()
void AddDefaultFontFromFile(u32 font_size, String path)
Definition: render_Renderer.hpp:150
bool InitMixer
Definition: render_Renderer.hpp:32
static constexpr u32 RendererHardwareFlags
Definition: render_Renderer.hpp:80
sdl2::Texture RenderText(String font_name, String Text, Color Color)
SDL_Window * Window
Definition: sdl2_Types.hpp:12
Definition: render_Renderer.hpp:21
void AddFontFile(String font_name, u32 font_size, String path)
u32 RenderFlags
Definition: render_Renderer.hpp:26
std::vector< u32 > DefaultFontExtraSizes
Definition: render_Renderer.hpp:30
bool InitPL
Definition: render_Renderer.hpp:36
SDL_Texture * Texture
Definition: sdl2_Types.hpp:11
RendererInitOptions WithTTF(String default_font_path="")
Definition: render_Renderer.hpp:42
sdl2::Window GetMainWindow()
String DefaultFontPath
Definition: render_Renderer.hpp:31
s32 i32
Definition: pu_Macros.hpp:17
#define PU_SMART_CTOR(type)
Definition: pu_Macros.hpp:8
i32 GetTextWidth(String font_name, String Text)
sdl2::Surface GetMainSurface()
u32 IMGFlags
Definition: render_Renderer.hpp:35
void AddDefaultFontFromShared(u32 font_size)
Definition: render_Renderer.hpp:144
u32 MixerFlags
Definition: render_Renderer.hpp:33
Definition: render_Renderer.hpp:95
static constexpr u32 IMGAllFlags
Definition: render_Renderer.hpp:78
static const TextureRenderOptions Default
Definition: render_Renderer.hpp:90
SDL_Renderer * Renderer
Definition: sdl2_Types.hpp:13
float Angle
Definition: render_Renderer.hpp:87
Definition: render_Renderer.hpp:23
RendererInitOptions WithRomfs()
Definition: render_Renderer.hpp:70
u32 SDLFlags
Definition: render_Renderer.hpp:25
RendererInitOptions(u32 sdl_flags, u32 render_flags, u32 w=1280, u32 h=720)
Definition: render_Renderer.hpp:39
u32 Width
Definition: render_Renderer.hpp:27
SDL_Surface * Surface
Definition: sdl2_Types.hpp:15
bool InitTTF
Definition: render_Renderer.hpp:29
i32 Height
Definition: render_Renderer.hpp:86
std::pair< u32, u32 > GetDimensions()
static constexpr u32 RendererSoftwareFlags
Definition: render_Renderer.hpp:79
bool InitIMG
Definition: render_Renderer.hpp:34
void AddAllSharedFonts(String font_name, u32 font_size)
u32 Height
Definition: render_Renderer.hpp:28
void AddSharedFont(String font_name, u32 font_size, PlSharedFontType type)
Definition: render_Renderer.hpp:82
RendererInitOptions WithIMG(u32 flags)
Definition: render_Renderer.hpp:63
static constexpr u32 MixerAllFlags
Definition: render_Renderer.hpp:77