aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Graphics/Font/Font.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Graphics/Font/Font.h')
-rw-r--r--src/libjin/Graphics/Font/Font.h66
1 files changed, 61 insertions, 5 deletions
diff --git a/src/libjin/Graphics/Font/Font.h b/src/libjin/Graphics/Font/Font.h
index 14211e1..1d09cfc 100644
--- a/src/libjin/Graphics/Font/Font.h
+++ b/src/libjin/Graphics/Font/Font.h
@@ -13,23 +13,79 @@ namespace jin
class Font
{
public:
+ ///
+ /// Font constructor.
+ ///
Font(unsigned fontsize)
- : fontSize(fontsize)
+ : mFontSize(fontsize)
{
}
+
+ ///
+ /// Font destructor.
+ ///
virtual ~Font() {};
+ ///
+ /// Create page with given text.
+ ///
+ /// @param text Text to be typesetted.
+ /// @param lineheight Line height of text.
+ /// @param spacing Spacing between characters. 0 by default.
+ /// @return Page if created successfully, otherwise return null.
+ ///
virtual Page* typeset(const Text& text, int lineheight, int spacing = 0) = 0;
- virtual Page* typeset(const Content& text, int lineheight, int spacing = 0) = 0;
+ ///
+ /// Create page with given unicode codepoints.
+ ///
+ /// @param content Unicode codepoints to be typesetted.
+ /// @param lineheight Line height of text.
+ /// @param spacing Spacing between characters. 0 by default.
+ /// @return Page if created successfully, otherwise return null.
+ ///
+ virtual Page* typeset(const Content& content, int lineheight, int spacing = 0) = 0;
+
+ ///
+ /// Render page to given position.
+ ///
+ /// @param page Page to be rendered.
+ /// @param x X value of the position.
+ /// @param y Y value of the position.
+ ///
virtual void print(const Page* page, int x, int y) = 0;
- virtual void print(const Content& text, int x, int y, int lineheight, int spacing = 0) = 0;
+
+ ///
+ /// Render unicode codepoints to given position.
+ ///
+ /// @param content Unicode codepoints to be typesetted.
+ /// @param x X value of the position.
+ /// @param y Y value of the position.
+ /// @param lineheight Line height of the content.
+ /// @param spacing Spacing between characters.
+ ///
+ virtual void print(const Content& content, int x, int y, int lineheight, int spacing = 0) = 0;
+
+ ///
+ /// Render text to given position.
+ ///
+ /// @param text Text to be rendered.
+ /// @param x X value of the position.
+ /// @param y Y value of the position.
+ /// @param lineheight Line height of the text.
+ /// @param spacing Spacing between characters.
+ ///
virtual void print(const Text& text, int x, int y, int lineheight, int spacing = 0) = 0;
- inline unsigned getFontSize() { return fontSize; };
+ ///
+ /// Get font size.
+ ///
+ /// @return Font size.
+ ///
+ inline unsigned getFontSize() { return mFontSize; };
protected:
- unsigned fontSize;
+ unsigned mFontSize;
};