25 #include <fifechan.hpp> 57 const fcn::ClipRectangle& clip = graphics->getCurrentClipArea();
59 rect.
x = x + clip.xOffset;
60 rect.
y = y + clip.yOffset + yoffset;
64 if (!rect.
intersects(
Rect(clip.x,clip.y,clip.width,clip.height)) ) {
71 setColor(graphics->getColor().r, graphics->getColor().g, graphics->getColor().b, graphics->getColor().a);
73 setColor(color.r, color.g, color.b, color.a);
87 const fcn::ClipRectangle& clip = graphics->getCurrentClipArea();
92 setColor(graphics->getColor().r, graphics->getColor().g, graphics->getColor().b, graphics->getColor().a);
94 setColor(color.r, color.g, color.b, color.a);
100 rect.
x = x + clip.xOffset;
101 rect.
y = y + clip.yOffset + yoffset;
104 if (!rect.
intersects(
Rect(clip.x,clip.y,clip.width,clip.height)) ) {
std::string splitTextToWidth(const std::string &text, int32_t render_width)
virtual void setItalicStyle(bool style)=0
Sets the use of italic style.
bool isStrikethroughStyle() const
Checks if strikethrough style is used.
void setUnderlineStyle(bool style)
Sets the use of underline style.
void drawString(fcn::Graphics *graphics, const std::string &text, int32_t x, int32_t y)
virtual bool isDynamicColoring() const =0
void setDynamicColoring(bool coloring)
T h
Height of the rectangle.
virtual bool isUnderlineStyle() const =0
Checks if underline style is used.
GuiFont(IFont *font)
Constructor Takes the ownership of given font.
Image * getAsImage(const std::string &text)
Gets given text as Image The rsulting image is pooled, so it's not that time critical.
virtual bool isBoldStyle() const =0
Checks if bold style is used.
void setBoldStyle(bool style)
Sets the use of bold style.
virtual Image * getAsImage(const std::string &text)=0
Gets given text as Image The rsulting image is pooled, so it's not that time critical.
virtual Image * getAsImageMultiline(const std::string &text)=0
Gets given text as Image.
virtual void setColor(uint8_t r, uint8_t g, uint8_t b, uint8_t a=255)=0
Set the color the text should be rendered in.
virtual std::string splitTextToWidth(const std::string &text, int32_t render_width)=0
virtual int32_t getRowSpacing() const =0
Gets the spacing between rows in pixels.
virtual bool isStrikethroughStyle() const =0
Checks if strikethrough style is used.
virtual void invalidate()=0
virtual void setUnderlineStyle(bool style)=0
Sets the use of underline style.
virtual SDL_Color getColor() const =0
Get the color the text was rendered in.
void drawMultiLineString(fcn::Graphics *graphics, const std::string &text, int32_t x, int32_t y)
SDL_Color getColor() const
Get the color the text was rendered in.
void setRowSpacing(int32_t spacing)
Sets the spacing between rows in pixels.
Image * getAsImageMultiline(const std::string &text)
Gets given text as Image.
bool intersects(const RectType< T > &rect) const
Check whether two rectangles share some area.
uint32_t getHeight() const
virtual int32_t getStringIndexAt(const std::string &text, int32_t x) const =0
virtual void setStrikethroughStyle(bool style)=0
Sets the use of strikethrough style.
void setGlyphSpacing(int32_t spacing)
Sets the spacing between letters in pixels.
virtual int32_t getHeight() const =0
gets height of this font
virtual void setGlyphSpacing(int32_t spacing)=0
Sets the spacing between letters in pixels.
bool isAntiAlias() const
Checks if anti aliasing is used.
virtual void setBoldStyle(bool style)=0
Sets the use of bold style.
virtual int32_t getGlyphSpacing() const =0
Gets the spacing between letters in pixels.
virtual bool isAntiAlias() const =0
Checks if anti aliasing is used.
int32_t getStringIndexAt(const std::string &text, int32_t x) const
bool isUnderlineStyle() const
Checks if underline style is used.
Pure abstract Font interface.
virtual void render(const Rect &rect, uint8_t alpha=255, uint8_t const *rgb=0)=0
Renders itself to the current render target (main screen or attached destination image) at the rectan...
int32_t getHeight() const
gets height of this font
void setAntiAlias(bool antiAlias)
Sets the use of anti aliasing.
virtual void setRowSpacing(int32_t spacing)=0
Sets the spacing between rows in pixels.
bool isItalicStyle() const
Checks if italic style is used.
int32_t getWidth(const std::string &text) const
gets width of given text
virtual bool isItalicStyle() const =0
Checks if italic style is used.
int32_t getGlyphSpacing() const
Gets the spacing between letters in pixels.
int32_t getRowSpacing() const
Gets the spacing between rows in pixels.
virtual int32_t getWidth(const std::string &text) const =0
gets width of given text
virtual void setAntiAlias(bool antiAlias)=0
Sets the use of anti aliasing.
void setItalicStyle(bool style)
Sets the use of italic style.
bool isDynamicColoring() const
T w
Width of the rectangle.
void setStrikethroughStyle(bool style)
Sets the use of strikethrough style.
void setColor(uint8_t r, uint8_t g, uint8_t b, uint8_t a=255)
Set the color the text should be rendered in.
bool isBoldStyle() const
Checks if bold style is used.
virtual void setDynamicColoring(bool coloring)=0
uint32_t getWidth() const