note description: "A font that can be use to draw text with a {TEXT_IMAGE}." author: "Louis Marchand" date: "Mon, 30 Mar 2015 01:06:37 +0000" revision: "2.0" class interface TEXT_FONT create make, make_with_index feature -- Access size: INTEGER_32 -- The font height. index: INTEGER_32 -- The index of the font in the file. is_openable: BOOLEAN -- Can Current be open open -- Open Current ensure then exists: not has_error implies exists is_open: not has_error implies is_open exists: BOOLEAN -- Is allocated memory still allocated? has_style_modifier: BOOLEAN -- Is Current has a style modifier (underline, bold, italic or strike through) require exists disable_style_modifier -- Disable all style modifier (underline, bold, italic and strike through) require exists is_underline: BOOLEAN assign set_is_underline -- Is Current has an underline style modifier require exists set_is_underline (a_value: BOOLEAN) -- Assign to is_underline the value of a_value ensure is_assign: is_underline ~ a_value enable_underline -- Add an underline style modifier to Current require exists ensure is_enabled: is_underline disable_underline -- remove an underline style modifier to Current require exists ensure is_disabled: not is_underline is_bold: BOOLEAN assign set_is_bold -- Is Current has a bold style modifier require exists set_is_bold (a_value: BOOLEAN) -- Assign to is_bold the value of a_value ensure is_assign: is_bold ~ a_value enable_bold -- Add a bold style modifier to Current require exists ensure is_enabled: is_bold disable_bold -- remove a bold style modifier to Current require exists ensure is_disabled: not is_bold is_italic: BOOLEAN assign set_is_italic -- Is Current has an italic style modifier require exists set_is_italic (a_value: BOOLEAN) -- Assign to is_italic the value of a_value ensure is_assign: is_italic ~ a_value enable_italic -- Add an italic style modifier to Current require exists ensure is_enabled: is_italic disable_italic -- remove an italic style modifier to Current require exists ensure is_disabled: not is_italic is_strike_through: BOOLEAN assign set_is_strike_through -- Is Current has a strike through style modifier require exists set_is_strike_through (a_value: BOOLEAN) -- Assign to is_strike_through the value of a_value ensure is_assign: is_strike_through ~ a_value enable_strike_through -- Add a strike through style modifier to Current require exists ensure is_enabled: is_strike_through disable_strike_through -- remove a strike through style modifier to Current require exists ensure is_disabled: not is_strike_through has_outline: BOOLEAN -- Is Current has an outline size. require exists outline_size: INTEGER_32 assign set_outline_size -- The ouline width of Current (0 for disabled) require exists set_outline_size (a_outline_size: INTEGER_32) -- Assign outline_size with the value of outline_size require exists: exists outline_size_valid: a_outline_size >= 0 ensure is_assign: outline_size = a_outline_size disable_outline -- Disable the outline size in Current require exists ensure is_disabled: not has_outline has_hinting: BOOLEAN -- Has the library a hint about how to draw Current require exists disable_hinting -- Disable the draw hinting of Current require exists has_normal_hinting: BOOLEAN -- The library has the normal hinting to draw `Current require exists enable_normal_hinting -- Use the normal hinting to draw Current require exists ensure is_enable: has_normal_hinting has_light_hinting: BOOLEAN -- The library has the light hinting to draw Current require exists enable_light_hinting -- Use the light hinting to draw Current require exists ensure is_enable: has_light_hinting has_monochrome_hinting: BOOLEAN -- The library has the monochrome hinting to draw Current. require exists enable_monochrome_hinting -- Use the monochrome hinting to draw Current. -- Must only be use with monochrome display require exists ensure is_enable: has_monochrome_hinting is_kerning_enabled: BOOLEAN assign set_is_kerning_enabled -- If True, the library can use kerning when drawing a text with Current require exists set_is_kerning_enabled (a_value: BOOLEAN) -- Assign to is_kerning_enabled the value of a_value ensure is_assign: is_kerning_enabled ~ a_value enable_kerning -- Allow the library to use kerning when drawing a text with Current require exists ensure is_enabled: is_kerning_enabled disable_kerning -- Does not allow the library to use kerning when drawing a text with Current require exists ensure is_disabled: not is_kerning_enabled maximum_height: INTEGER_32 -- The maximum height that a gliph can take in pixel using Current require exists ascent: INTEGER_32 -- distance from the top of the drawing area to the baseline in pixel. require exists descent: INTEGER_32 -- distance from the baseline to the bottom of the drawing area in pixel. require exists line_skip_height: INTEGER_32 -- the recommended pixel height of a rendered line of text using Current require exists is_monospace: BOOLEAN -- True if every character that exists in Current is the same width require exists face_family_name: READABLE_STRING_GENERAL -- The name of the face family of Curent require exists face_style_name: READABLE_STRING_GENERAL -- The name of the face style of Curent require exists is_glyph_provided (a_character: CHARACTER_32): BOOLEAN -- Is Current can draw a glyph representing a_character require exists glyph_metrics (a_character: CHARACTER_32): TUPLE [minimal_x: INTEGER_32; maximal_x: INTEGER_32; minimal_y: INTEGER_32; maximal_y: INTEGER_32; advance: INTEGER_32] -- The informations about the glyph representing a_character generated with Current. -- Set has_error on error. require exists is_character_valid: is_glyph_provided (a_character) text_dimension (a_text: READABLE_STRING_GENERAL): TUPLE [width: INTEGER_32; height: INTEGER_32] -- The dimension of the a_text drawed with Current require exists feature -- Implementation dispose -- Action to be executed just before garbage collection -- reclaims an object. -- Effect it in descendants to perform specific dispose -- actions. Those actions should only take care of freeing -- external resources; they should not perform remote calls -- on other objects since these may also be dead and reclaimed. invariant is_open_exists: is_open implies exists end -- class TEXT_FONT
Generated by ISE EiffelStudio