X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Finternal-gui.h;h=d23ae867ffd9c7334a6e0233c6657f0f11ecc504;hb=f1aad8f0759688ade29a34cc45b81c843dc29413;hp=f1b65d041806e7494da71a851007167d147d5ae3;hpb=3dc9b86b596c5ffebc76c89339c5f997c1ae63f5;p=m17n%2Fm17n-lib.git diff --git a/src/internal-gui.h b/src/internal-gui.h index f1b65d0..d23ae86 100644 --- a/src/internal-gui.h +++ b/src/internal-gui.h @@ -54,6 +54,8 @@ struct MFrame character of the default face. */ int space_width; + int average_width; + /** The default ascent and descent of a line. It is ascent and descent of ASCII font of the default face. */ int ascent, descent; @@ -72,6 +74,9 @@ struct MFrame /** Logical OR of enum MDeviceType. */ int device_type; + /** Resolution (dots per inch) of the device. */ + int dpi; + /** Correction of functions to manipulate the device. */ MDeviceDriver *driver; @@ -110,12 +115,18 @@ enum glyph_type GLYPH_TYPE_MAX }; +enum glyph_category + { + GLYPH_CATEGORY_NORMAL, + GLYPH_CATEGORY_MODIFIER, + GLYPH_CATEGORY_FORMATTER + }; + typedef struct { int pos, to; int c; unsigned code; - MSymbol category; MRealizedFace *rface; short width, ascent, descent, lbearing, rbearing; short xoff, yoff; @@ -124,6 +135,7 @@ typedef struct unsigned right_padding : 1; unsigned otf_encoded : 1; unsigned bidi_level : 6; + enum glyph_category category : 2; enum glyph_type type : 3; int combining_code; } MGlyph; @@ -137,24 +149,18 @@ struct MGlyphString int size, inc, used; MGlyph *glyphs; - MText *mt; int from, to; short width, height, ascent, descent; short physical_ascent, physical_descent, lbearing, rbearing; short text_ascent, text_descent, line_ascent, line_descent; int indent, width_limit; - /* Members to keep temporary data while layouting. */ - short sub_width, sub_lbearing, sub_rbearing; - /* Copied for .anti_alias but never set if the frame's depth is less than 8. */ unsigned anti_alias : 1; MDrawControl control; - MDrawRegion region; - struct MGlyphString *next, *top; }; @@ -222,8 +228,6 @@ struct MGlyphString typedef struct MGlyphString MGlyphString; -typedef struct MFontDriver MFontDriver; - typedef struct { short x, y;