home *** CD-ROM | disk | FTP | other *** search
/ Hackers Magazine 57 / CdHackersMagazineNr57.iso / Software / Multimedia / k3d-setup-0.7.11.0.exe / lib / pangomm-1.4 / proc / m4 / convert_pango.m4 next >
Encoding:
Text File  |  2009-02-10  |  8.4 KB  |  169 lines

  1.  
  2. # Enums:
  3. _CONV_ENUM(Pango,AttrType)
  4. _CONV_ENUM(Pango,Underline)
  5. _CONV_ENUM(Pango,Direction)
  6. _CONV_ENUM(Pango,CoverageLevel)
  7. _CONV_ENUM(Pango,Style)
  8. _CONV_ENUM(Pango,Variant)
  9. _CONV_ENUM(Pango,Stretch)
  10. _CONV_ENUM(Pango,Weight)
  11. _CONV_ENUM(Pango,FontMask)
  12. _CONV_ENUM(Pango,Alignment)
  13. _CONV_ENUM(Pango,WrapMode)
  14. _CONV_ENUM(Pango,TabAlign)
  15. _CONV_ENUM(Pango,Script)
  16. _CONV_ENUM(Pango,EllipsizeMode)
  17. _CONV_ENUM(Pango,RenderPart)
  18. _CONV_ENUM(Pango,Gravity)
  19. _CONV_ENUM(Pango,GravityHint)
  20.  
  21. # General conversions:
  22. _CONVERSION(`gchar*',`const char*',`($3)')
  23. _CONVERSION(`guchar*&',`guchar**',`&($3)')
  24. _CONVERSION(`int*&',`int**',`&($3)')
  25.  
  26.  
  27. # Wrapper type conversions:
  28. _CONVERSION(`PangoLanguage*',`Language',`Language($3)')
  29. _CONVERSION(`PangoLanguage*',`Pango::Language',`Pango::Language($3)')
  30. _CONVERSION(`const Language&',`const PangoLanguage*',`($3).gobj()')
  31. _CONVERSION(`const Language&',`PangoLanguage*',`const_cast<PangoLanguage*>(`($3).gobj()')')
  32.  
  33. _CONVERSION(`Rectangle&',`PangoRectangle*',`($3).gobj()')
  34. _CONVERSION(`Rectangle',`PangoRectangle',`*($3).gobj()')
  35. _CONVERSION(`PangoRectangle',`Rectangle',`Rectangle(&($3))')
  36.  
  37. _CONVERSION(`Color&',`PangoColor*',`($3).gobj()')
  38. _CONVERSION(`const Color&',`const PangoColor*',`($3).gobj()')
  39. _CONVERSION(`Color',`PangoColor',`*($3).gobj()')
  40. _CONVERSION(`PangoColor',`Color',`Color(&($3))')
  41.  
  42. _CONVERSION(`PangoFontDescription*',`FontDescription',`FontDescription(($3))')
  43. _CONVERSION(`const PangoFontDescription*',`FontDescription',`FontDescription(const_cast<PangoFontDescription*>($3))')
  44. _CONVERSION(`Pango::FontDescription&',`PangoFontDescription*',`($3).gobj()')
  45. _CONVERSION(`FontDescription&',`PangoFontDescription*',`($3).gobj()')
  46. _CONVERSION(`const FontDescription&',`const PangoFontDescription*',`($3).gobj()')
  47. _CONVERSION(`const Pango::FontDescription&',`PangoFontDescription*',`const_cast<PangoFontDescription*>(`($3).gobj()')')
  48. _CONVERSION(`const FontDescription&',`PangoFontDescription*',`const_cast<PangoFontDescription*>(`($3).gobj()')')
  49.  
  50. _CONVERSION(`PangoFontMetrics*',`FontMetrics',`FontMetrics(($3))')
  51.  
  52. _CONVERSION(`PangoAttribute*',`Attribute',`Attribute(($3))')
  53. _CONVERSION(`Attribute&',`PangoAttribute*',`($3).gobj()')
  54. _CONVERSION(`const Attribute&',`const PangoAttribute*',`($3).gobj()')
  55.  
  56. _CONVERSION(`PangoAttrList*',`AttrList',`AttrList(($3))')
  57. _CONVERSION(`PangoAttrList*',`Pango::AttrList',`Pango::AttrList(($3))')
  58. _CONVERSION(`AttrList&',`PangoAttrList*',`($3).gobj()')
  59. _CONVERSION(`Pango::AttrList&',`PangoAttrList*',`($3).gobj()')
  60.  
  61. _CONVERSION(`PangoAttrIterator*',`AttrIter',`Glib::wrap(($3))')
  62.  
  63. _CONVERSION(`PangoAnalysis',`Analysis',`Analysis(&($3))')
  64. _CONVERSION(`PangoAnalysis',`const Analysis',`Analysis(&($3))')
  65. _CONVERSION(`Analysis&',`PangoAnalysis*',`($3).gobj()')
  66. _CONVERSION(`const Analysis&',`const PangoAnalysis*',`($3).gobj()')
  67. _CONVERSION(`const Analysis&',`PangoAnalysis*',`const_cast<PangoAnalysis*>(($3).gobj())')
  68.  
  69. _CONVERSION(`PangoItem*',`Item',`Item(($3))')
  70. _CONVERSION(`PangoItem*',`const Item',`Item(($3))')
  71. _CONVERSION(`Item&',`PangoItem*',`($3).gobj()')
  72. _CONVERSION(`const Item&',`const PangoItem*',`($3).gobj()')
  73.  
  74. _EQUAL(`PangoGlyph',`Glyph')
  75. _EQUAL(`PangoGlyphUnit',`GlyphUnit')
  76. _EQUAL(`PangoGlyphVisAttr',`GlyphVisAttr')
  77. #_CONVERSION(`PangoGlyphVisAttr',`GlyphVisAttr',`GlyphVisAttr(&($3))')
  78. #_CONVERSION(`GlyphVisAttr',`PangoGlyphVisAttr',`*($3).gobj()')
  79. _CONVERSION(`PangoGlyphGeometry',`GlyphGeometry',`GlyphGeometry(&($3))')
  80. _CONVERSION(`GlyphGeometry',`PangoGlyphGeometry',`*($3).gobj()')
  81.  
  82. _CONVERSION(`PangoGlyphString*',`GlyphString',`GlyphString(($3))')
  83. _CONVERSION(`PangoGlyphString*',`const GlyphString',`GlyphString(($3))')
  84. _CONVERSION(`const Pango::GlyphString&',`PangoGlyphString*',const_cast<PangoGlyphString*>($3.gobj()))
  85. _CONVERSION(`const GlyphString&',`PangoGlyphString*',const_cast<PangoGlyphString*>($3.gobj()))
  86.  
  87. _CONVERSION(`PangoGlyphItem*',`GlyphItem',`GlyphItem(($3))')
  88. _CONVERSION(`const GlyphItme&',`PangoGlyphItem*',const_cast<PangoGlyphItem*>($3.gobj()))
  89.  
  90. _CONVERSION(`PangoFont*',`Glib::RefPtr<Font>',Glib::wrap($3))
  91. _CONVERSION(`PangoFont*',`Glib::RefPtr<Pango::Font>',Glib::wrap($3))
  92. _CONVERSION(`PangoFont*',`Glib::RefPtr<const Font>',Glib::wrap($3))
  93. _CONVERSION(`PangoFont*',`Glib::RefPtr<const Pango::Font>',Glib::wrap($3))
  94. _CONVERSION(`const Glib::RefPtr<Font>&',`PangoFont*',__CONVERT_REFPTR_TO_P)
  95. _CONVERSION(`const Glib::RefPtr<Pango::Font>&',`PangoFont*',__CONVERT_REFPTR_TO_P)
  96. # Special treatment for the Sun Forte compiler
  97. #_CONVERSION(const Glib::RefPtr<const Font>&,`PangoFont*',__CONVERT_CONST_REFPTR_TO_P)
  98. _CONVERSION(`const Glib::RefPtr<const Font>&',`PangoFont*',__CONVERT_CONST_REFPTR_TO_P_SUN(Font))
  99. #_CONVERSION(`const Glib::RefPtr<const Font>&',`PangoFont*',__CONVERT_CONST_REFPTR_TO_P)
  100. _CONVERSION(`const Glib::RefPtr<const Pango::Font>&',`PangoFont*',__CONVERT_CONST_REFPTR_TO_P_SUN(Pango::Font))
  101.  
  102. _CONVERSION(`PangoFontMap*',`Glib::RefPtr<FontMap>',Glib::wrap($3))
  103. _CONVERSION(`PangoFontMap*',`Glib::RefPtr<const FontMap>',Glib::wrap($3))
  104. _CONVERSION(`const Glib::RefPtr<FontMap>&',`PangoFontMap*',__CONVERT_REFPTR_TO_P)
  105.  
  106. _CONVERSION(`PangoCairoFontMap*',`Glib::RefPtr<CairoFontMap>',Glib::wrap($3))
  107.  
  108. _CONVERSION(`PangoFontSet*',`Glib::RefPtr<FontSet>',Glib::wrap($3))
  109. _CONVERSION(`const Glib::RefPtr<FontSet>&',`PangoFontSet*',__CONVERT_REFPTR_TO_P)
  110.  
  111. _CONVERSION(`PangoContext*',`Glib::RefPtr<Pango::Context>',Glib::wrap($3))
  112. _CONVERSION(`PangoContext*',`Glib::RefPtr<Context>',Glib::wrap($3))
  113. _CONVERSION(`const Glib::RefPtr<Context>&',`PangoContext*',__CONVERT_REFPTR_TO_P)
  114.  
  115. _CONVERSION(`PangoLayout*',`Glib::RefPtr<Pango::Layout>',Glib::wrap($3))
  116. _CONVERSION(`PangoLayout*',`Glib::RefPtr<const Pango::Layout>',Glib::wrap($3))
  117. _CONVERSION(`PangoLayout*',`Glib::RefPtr<Layout>',Glib::wrap($3))
  118. _CONVERSION(`PangoLayout*',`const Glib::RefPtr<Pango::Layout>&',Glib::wrap($3))
  119. _CONVERSION(`const Glib::RefPtr<Layout>&',`PangoLayout*',__CONVERT_REFPTR_TO_P)
  120. _CONVERSION(`const Glib::RefPtr<Pango::Layout>&',`PangoLayout*',__CONVERT_REFPTR_TO_P)
  121. # Special treatment for the Sun Forte compiler
  122. _CONVERSION(`const Glib::RefPtr<const Pango::Layout>&',`PangoLayout*',__CONVERT_CONST_REFPTR_TO_P_SUN(Pango::Layout))
  123. _CONVERSION(`const Glib::RefPtr<const Layout>&',`PangoLayout*',__CONVERT_CONST_REFPTR_TO_P_SUN(Layout))
  124.  
  125. _CONVERSION(`PangoLayoutLine*',`Glib::RefPtr<Pango::LayoutLine>',`Glib::wrap($3)')
  126. _CONVERSION(`PangoLayoutLine*',`Glib::RefPtr<LayoutLine>',`Glib::wrap($3)')
  127. _CONVERSION(`PangoLayoutLine*',`Glib::RefPtr<const LayoutLine>',`Glib::wrap($3)')
  128. _CONVERSION(`const Glib::RefPtr<Pango::LayoutLine>&',`PangoLayoutLine*',__CONVERT_REFPTR_TO_P)
  129. _CONVERSION(`const Glib::RefPtr<LayoutLine>&',`PangoLayoutLine*',__CONVERT_REFPTR_TO_P)
  130. # Special treatment for the Sun Forte compiler
  131. _CONVERSION(`const Glib::RefPtr<const Pango::LayoutLine>&',`PangoLayoutLine*',__CONVERT_CONST_REFPTR_TO_P_SUN(Pango::LayoutLine))
  132. _CONVERSION(`const Glib::RefPtr<const LayoutLine>&',`PangoLayoutLine*',__CONVERT_CONST_REFPTR_TO_P_SUN(LayoutLine))
  133.  
  134. _CONVERSION(`PangoLayoutRun*',`LayoutRun',Glib::wrap($3))
  135.  
  136. _CONVERSION(`PangoLayoutIter*',`LayoutIter',`LayoutIter($3)')
  137.  
  138. _CONVERSION(`PangoCoverage*',`Glib::RefPtr<Coverage>',`Glib::wrap($3)')
  139. _CONVERSION(`const Glib::RefPtr<Coverage>&',`PangoCoverage*',`Glib::unwrap($3)')
  140.  
  141. _CONVERSION(`PangoTabArray*',`Pango::TabArray',`Pango::TabArray(($3))')
  142. _CONVERSION(`PangoTabArray*',`TabArray',`TabArray(($3))')
  143. _CONVERSION(`Pango::TabArray&',`PangoTabArray*',($3).gobj())
  144. _CONVERSION(`TabArray&',`PangoTabArray*',($3).gobj())
  145.  
  146. _CONVERSION(`PangoTabAlign&',`PangoTabAlign*',`&$3',`*$3')
  147. _CONVERSION(`Pango::TabAlign&',`PangoTabAlign*',`((PangoTabAlign*) &($3))')
  148. _CONVERSION(`TabAlign&',`PangoTabAlign*',`((PangoTabAlign*) &($3))')
  149.  
  150. _CONVERSION(`const Matrix&',`const PangoMatrix*',`&($3)')
  151.  
  152. #The documentation for pango_context_get_matrix() suggests that it's generally OK 
  153. #to consider PANGO_MATRIX_INIT and a NULL PangoMatrix* as being equivalent:
  154. #But this would cause 2 function calls.
  155. #_CONVERSION(`const PangoMatrix*',`Matrix',`($3) ? *($3) : PANGO_MATRIX_INIT')
  156. #_CONVERSION(`const Matrix&',`PangoMatrix*',`const_cast<PangoMatrix*>(&($3))')
  157.  
  158. define(`__FL2H_SHALLOW',`$`'2($`'3, Glib::OWNERSHIP_SHALLOW)')
  159. _CONVERSION(`GSList*',`SListHandle_LayoutLine',__FL2H_SHALLOW)
  160. _CONVERSION(`GSList*',`SListHandle_ConstLayoutLine',__FL2H_SHALLOW)
  161.  
  162. _CONVERSION(`PangoFontMap*',`Glib::RefPtr<Pango::FontMap>',`Glib::wrap($3)')
  163.  
  164. _CONVERSION(`const Cairo::FontOptions&',`const cairo_font_options_t*',`($3).cobj()')
  165.  
  166. _CONVERSION(`const LogAttr&',`PangoLogAttr*',&(const_cast<LogAttr&>($3)))
  167.  
  168.  
  169.