extract cairo rendering and abstract platform bits

The text rendering is now abstracted into the TextRender abstract class.
Additionally we have now an abstracted cairo rendering class
CairoTextRender which is a subclass of the TextRender class. The
CairoTextRender class is still platform independent and needs to be
subclassed to implement the few platform dependent methods.

You can reuse the cairo based text rendering now by subclassing
CairoTextRender for the platform that you need.

Change-Id: I8b07e3fe646a81563d308971d30e14a00fd921ad
11 files changed
tree: db43e7c7e5ff9d5dd979bfa50f40fc6a99b8b14f
  1. .git-hooks/
  2. accessibility/
  3. android/
  4. animations/
  5. apple_remote/
  6. avmedia/
  7. basctl/
  8. basebmp/
  9. basegfx/
  10. basic/
  11. bean/
  12. bin/
  13. binaryurp/
  14. bridges/
  15. canvas/
  16. chart2/
  17. cli_ure/
  18. codemaker/
  19. comphelper/
  20. compilerplugins/
  21. config_host/
  22. configmgr/
  23. connectivity/
  24. cppcanvas/
  25. cppu/
  26. cppuhelper/
  27. cpputools/
  28. crashrep/
  29. cui/
  30. dbaccess/
  31. desktop/
  32. distro-configs/
  33. drawinglayer/
  34. dtrans/
  35. editeng/
  36. embeddedobj/
  37. embedserv/
  38. eventattacher/
  39. extensions/
  40. external/
  41. extras/
  42. filter/
  43. forms/
  44. formula/
  45. fpicker/
  46. framework/
  47. helpcompiler/
  48. hwpfilter/
  49. i18nlangtag/
  50. i18npool/
  51. i18nutil/
  52. icon-themes/
  53. idl/
  54. idlc/
  55. include/
  56. instsetoo_native/
  57. io/
  58. ios/
  59. javaunohelper/
  60. jurt/
  61. jvmaccess/
  62. jvmfwk/
  63. l10ntools/
  64. librelogo/
  65. libreofficekit/
  66. lingucomponent/
  67. linguistic/
  68. lotuswordpro/
  69. m4/
  70. mysqlc/
  71. nlpsolver/
  72. o3tl/
  73. odk/
  74. offapi/
  75. officecfg/
  76. oovbaapi/
  77. oox/
  78. osx/
  79. package/
  80. postprocess/
  81. pyuno/
  82. qadevOOo/
  83. readlicense_oo/
  84. registry/
  85. remotebridges/
  86. reportbuilder/
  87. reportdesign/
  88. ridljar/
  89. rsc/
  90. sal/
  91. salhelper/
  92. sax/
  93. sc/
  94. scaddins/
  95. sccomp/
  96. scp2/
  97. scripting/
  98. sd/
  99. sdext/
  100. setup_native/
  101. sfx2/
  102. shell/
  103. slideshow/
  104. smoketest/
  105. solenv/
  106. soltools/
  107. sot/
  108. starmath/
  109. stoc/
  110. store/
  111. svgio/
  112. svl/
  113. svtools/
  114. svx/
  115. sw/
  116. swext/
  117. sysui/
  118. test/
  119. testtools/
  120. toolkit/
  121. tools/
  122. touch/
  123. tubes/
  124. ucb/
  125. ucbhelper/
  126. udkapi/
  127. UnoControls/
  128. unodevtools/
  129. unoidl/
  130. unoil/
  131. unotest/
  132. unotools/
  133. unoxml/
  134. ure/
  135. uui/
  136. vbahelper/
  137. vcl/
  138. winaccessibility/
  139. wizards/
  140. writerfilter/
  141. writerperfect/
  142. xmerge/
  143. xmlhelp/
  144. xmloff/
  145. xmlreader/
  146. xmlscript/
  147. xmlsecurity/
  148. .gitattributes
  149. .gitignore
  150. .gitmodules
  151. .gitreview
  152. autogen.sh
  153. config.guess
  154. config.sub
  155. config_host.mk.in
  156. configure.ac
  157. COPYING
  158. COPYING.LGPL
  159. COPYING.MPL
  160. download.lst
  161. g
  162. install-sh
  163. leak-suppress.txt
  164. Library_merged.mk
  165. Library_urelibs.mk
  166. lo.xcent.in
  167. logerrit
  168. Makefile.fetch
  169. Makefile.gbuild
  170. Makefile.in
  171. README.Android
  172. README.Code
  173. README.cross
  174. README.Solaris
  175. Repository.mk
  176. RepositoryExternal.mk
  177. RepositoryFixes.mk
  178. RepositoryModule_build.mk
  179. RepositoryModule_host.mk
  180. TEMPLATE.SOURCECODE.HEADER
  181. unusedcode.easy
  182. unusedcode.exclude
  183. unusedcode.README