Linux Standard Base Desktop Specification 3.2 Copyright © 2007 Linux Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". Portions of the text may be copyrighted by the following parties: * The Regents of the University of California * Free Software Foundation * Ian F. Darwin * Paul Vixie * BSDI (now Wind River) * Andrew G Morgan * Jean-loup Gailly and Mark Adler * Massachusetts Institute of Technology * Apple Inc. * Easy Software Products * artofcode LLC * Till Kamppeter * Manfred Wassman * Python Software Foundation These excerpts are being used in accordance with their respective licenses. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. UNIX is a registered trademark of The Open Group. LSB is a trademark of the Linux Foundation in the United States and other countries. AMD is a trademark of Advanced Micro Devices, Inc. Intel and Itanium are registered trademarks and Intel386 is a trademark of Intel Corporation. PowerPC is a registered trademark and PowerPC Architecture is a trademark of the IBM Corporation. S/390 is a registered trademark of the IBM Corporation. OpenGL is a registered trademark of Silicon Graphics, Inc. __________________________________________________________ Table of Contents Foreword Introduction I. Introductory Elements 1. Scope 2. References 2.1. Normative References 2.2. Informative References/Bibliography 3. Requirements 3.1. Relevant Libraries 4. Definitions 5. Terminology II. Graphic Libraries 6. Libraries 6.1. Interfaces for libX11 6.2. Data Definitions for libX11 6.3. Interface Definitions for libX11 6.4. Interfaces for libSM 6.5. Data Definitions for libSM 6.6. Interfaces for libICE 6.7. Data Definitions for libICE 6.8. Interfaces for libXt 6.9. Data Definitions for libXt 6.10. Interface Definitions for libXt 6.11. Interfaces for libXext 6.12. Data Definitions for libXext 6.13. Interfaces for libXi III. OpenGL Libraries 7. Libraries 7.1. Interfaces for libGL 7.2. Data Definitions for libGL IV. PNG12 library 8. Libraries 8.1. Interfaces for libpng12 8.2. Data Definitions for libpng12 8.3. Interface Definitions for libpng12 V. JPEG library 9. Libraries 9.1. Interfaces for libjpeg 9.2. Data Definitions for libjpeg 9.3. Interface Definitions for libjpeg VI. Fontconfig library 10. Libraries 10.1. Interfaces for libfontconfig 10.2. Data Definitions for libfontconfig 11. Commands and Utilities 11.1. Commands and Utilities 11.2. Command Behavior VII. Freetype library 12. Libraries 12.1. Interfaces for libfreetype 12.2. Data Definitions for libfreetype 12.3. Interface Definitions for libfreetype VIII. Xft library 13. Libraries 13.1. Interfaces for libXft 13.2. Data Definitions for libXft 13.3. Interface Definitions for libXft IX. Xrender library 14. Libraries 14.1. Interfaces for libXrender 14.2. Data Definitions for libXrender 14.3. Interface Definitions for libXrender X. GTK+ Stack Libraries 15. Libraries 15.1. Introduction 15.2. Interfaces for libglib-2.0 15.3. Data Definitions for libglib-2.0 15.4. Interfaces for libgobject-2.0 15.5. Data Definitions for libgobject-2.0 15.6. Interfaces for libgmodule-2.0 15.7. Data Definitions for libgmodule-2.0 15.8. Interfaces for libgthread-2.0 15.9. Interfaces for libatk-1.0 15.10. Data Definitions for libatk-1.0 15.11. Interfaces for libpango-1.0 15.12. Data Definitions for libpango-1.0 15.13. Interfaces for libpangoxft-1.0 15.14. Data Definitions for libpangoxft-1.0 15.15. Interfaces for libpangoft2-1.0 15.16. Data Definitions for libpangoft2-1.0 15.17. Interfaces for libgdk_pixbuf-2.0 15.18. Data Definitions for libgdk_pixbuf-2.0 15.19. Interfaces for libgdk_pixbuf_xlib-2.0 15.20. Data Definitions for libgdk_pixbuf_xlib-2.0 15.21. Interfaces for libgdk-x11-2.0 15.22. Data Definitions for libgdk-x11-2.0 15.23. Interfaces for libgtk-x11-2.0 15.24. Data Definitions for libgtk-x11-2.0 15.25. Interface Definitions for libgtk-x11-2.0 XI. Qt Libraries 16. Libraries 16.1. Introduction 16.2. Interfaces for libQtCore 16.3. Data Definitions for libQtCore 16.4. Interfaces for libQtGui 16.5. Data Definitions for libQtGui 16.6. Interfaces for libQtXml 16.7. Data Definitions for libQtXml 16.8. Interfaces for libQtOpenGL 16.9. Data Definitions for libQtOpenGL 16.10. Interfaces for libQtSql 16.11. Data Definitions for libQtSql 16.12. Interfaces for libQtSvg 16.13. Data Definitions for libQtSvg 16.14. Interfaces for libQtNetwork 16.15. Data Definitions for libQtNetwork XII. Qt3 Library 17. Library 17.1. Introduction 17.2. Interfaces for libqt-mt XIII. XML2 library 18. Libraries 18.1. Interfaces for libxml2 18.2. Data Definitions for libxml2 XIV. Desktop Environment 19. Desktop Environment 19.1. Desktop Base Directory 19.2. Desktop Entries 19.3. Desktop Menu Specification 19.4. Icon Theme Specification XV. Package Information 20. Package Dependencies 20.1. Package Dependencies A. GNU Free Documentation License (Informative) A.1. PREAMBLE A.2. APPLICABILITY AND DEFINITIONS A.3. VERBATIM COPYING A.4. COPYING IN QUANTITY A.5. MODIFICATIONS A.6. COMBINING DOCUMENTS A.7. COLLECTIONS OF DOCUMENTS A.8. AGGREGATION WITH INDEPENDENT WORKS A.9. TRANSLATION A.10. TERMINATION A.11. FUTURE REVISIONS OF THIS LICENSE A.12. How to use this License for your documents List of Tables 2-1. Normative References 2-2. Other References 3-1. Standard Library Names 6-1. libX11 Definition 6-2. libX11 - X Windows System Interface Function Interfaces 6-3. libSM Definition 6-4. libSM - Session Management Functions Function Interfaces 6-5. libICE Definition 6-6. libICE - ICE Functions Function Interfaces 6-7. libXt Definition 6-8. libXt - X Toolkit Function Interfaces 6-9. libXt - X Toolkit Data Interfaces 6-10. libXext Definition 6-11. libXext - X Shape Extension Function Interfaces 6-12. libXext - X Display Power Management Signaling Extension Function Interfaces 6-13. libXext - X Shared Memory Extensions Function Interfaces 6-14. libXext - X Synchronization Extension Function Interfaces 6-15. libXext - X Security Extension Function Interfaces 6-16. libXext - X Double Buffer Extension Function Interfaces 6-17. libXext - X Extended Visual Interface Extension Function Interfaces 6-18. libXi Definition 6-19. libXi - XInput Function Interfaces 7-1. libGL Definition 7-2. libGL - GL X interface Function Interfaces 7-3. libGL - OpenGL Function Interfaces 8-1. libpng12 Definition 8-2. libpng12 - PNG Reference library Function Interfaces 8-3. libpng12 - PNG Reference library Data Interfaces 9-1. libjpeg Definition 9-2. libjpeg - JPEG Reference library Function Interfaces 10-1. libfontconfig Definition 10-2. libfontconfig - Font Customization and Configuration Library Function Interfaces 11-1. Commands And Utilities 12-1. libfreetype Definition 12-2. libfreetype - Default LibGroup for libfreetype Function Interfaces 13-1. libXft Definition 13-2. libXft - Default LibGroup for libXft Function Interfaces 14-1. libXrender Definition 14-2. libXrender - Default LibGroup for libXrender Function Interfaces 15-1. libglib-2.0 Definition 15-2. libglib-2.0 - GTK General purpose utility library Function Interfaces 15-3. libglib-2.0 - GTK General purpose utility library Data Interfaces 15-4. libglib-2.0 - Glib Arrays Function Interfaces 15-5. libglib-2.0 - Glib Asynchronous Queues Function Interfaces 15-6. libglib-2.0 - Glib Atomic Operations Function Interfaces 15-7. libglib-2.0 - Glib Automatic String Completion Function Interfaces 15-8. libglib-2.0 - Glib Balanced Binary Trees Function Interfaces 15-9. libglib-2.0 - Glib Byte Arrays Function Interfaces 15-10. libglib-2.0 - Glib Caches Function Interfaces 15-11. libglib-2.0 - Glib Caches Deprecated Function Interfaces 15-12. libglib-2.0 - Glib Character Set Conversion Function Interfaces 15-13. libglib-2.0 - Glib Commandline Option Parser Function Interfaces 15-14. libglib-2.0 - Glib Datasets Function Interfaces 15-15. libglib-2.0 - Glib Date and Time Functions Function Interfaces 15-16. libglib-2.0 - Glib Double-Ended Queues Function Interfaces 15-17. libglib-2.0 - Glib Doubly-Linked Lists Function Interfaces 15-18. libglib-2.0 - Glib Error Reporting Function Interfaces 15-19. libglib-2.0 - Glib File Utilities Function Interfaces 15-20. libglib-2.0 - Glib Glob-Style Pattern Matching Function Interfaces 15-21. libglib-2.0 - Glib Hash Tables Function Interfaces 15-22. libglib-2.0 - Glib Hook Functions Function Interfaces 15-23. libglib-2.0 - Glib IO Channels Function Interfaces 15-24. libglib-2.0 - Glib Internationalization Function Interfaces 15-25. libglib-2.0 - Glib Key-Value File Parser Function Interfaces 15-26. libglib-2.0 - Glib Keyed Data Lists Function Interfaces 15-27. libglib-2.0 - Glib Lexical Scanner Function Interfaces 15-28. libglib-2.0 - Glib Memory Allocation Function Interfaces 15-29. libglib-2.0 - Glib Memory Allocators Function Interfaces 15-30. libglib-2.0 - Glib Memory Chunks Function Interfaces 15-31. libglib-2.0 - Glib Message Logging Function Interfaces 15-32. libglib-2.0 - Glib Message Output and Debugging Functions Function Interfaces 15-33. libglib-2.0 - Glib Miscellaneous Utility Functions Function Interfaces 15-34. libglib-2.0 - Glib N-ary Trees Function Interfaces 15-35. libglib-2.0 - Glib Pointer Arrays Function Interfaces 15-36. libglib-2.0 - Glib Quarks Function Interfaces 15-37. libglib-2.0 - Glib Random Numbers Function Interfaces 15-38. libglib-2.0 - Glib Relations and Tuples Function Interfaces 15-39. libglib-2.0 - Glib Shell-related Utilities Function Interfaces 15-40. libglib-2.0 - Glib Simple XML Subset Parser Function Interfaces 15-41. libglib-2.0 - Glib Singly-Linked Lists Function Interfaces 15-42. libglib-2.0 - Glib Spawning Processes Function Interfaces 15-43. libglib-2.0 - Glib String Chunks Function Interfaces 15-44. libglib-2.0 - Glib String Utility Functions Function Interfaces 15-45. libglib-2.0 - Glib Strings Function Interfaces 15-46. libglib-2.0 - Glib - The Main Event Loop Function Interfaces 15-47. libglib-2.0 - Glib Thread Pools Function Interfaces 15-48. libglib-2.0 - Glib Threads Function Interfaces 15-49. libglib-2.0 - Glib Timers Function Interfaces 15-50. libglib-2.0 - Glib Trash Stacks Function Interfaces 15-51. libglib-2.0 - Glib Unicode Manipulation Function Interfaces 15-52. libglib-2.0 - Glib Version Information Function Interfaces 15-53. libglib-2.0 - Glib Version Information Data Interfaces 15-54. libgobject-2.0 Definition 15-55. libgobject-2.0 - Glib Object System Function Interfaces 15-56. libgobject-2.0 - Glib Object System Data Interfaces 15-57. libgmodule-2.0 Definition 15-58. libgmodule-2.0 - Glib-Dynamic loading of Modules Function Interfaces 15-59. libgthread-2.0 Definition 15-60. libgthread-2.0 - Glib thread abstraction Function Interfaces 15-61. libatk-1.0 Definition 15-62. libatk-1.0 - GTK Accessibility Toolkit Function Interfaces 15-63. libpango-1.0 Definition 15-64. libpango-1.0 - GTK Internationalized Text Layout and Rendering library Function Interfaces 15-65. libpangoxft-1.0 Definition 15-66. libpangoxft-1.0 - Pango Xft Fonts and Rendering library Function Interfaces 15-67. libpangoft2-1.0 Definition 15-68. libpangoft2-1.0 - Pango Freetype Fonts and Rendering library Function Interfaces 15-69. libgdk_pixbuf-2.0 Definition 15-70. libgdk_pixbuf-2.0 - GDK pixbuf rendering on drawables library Function Interfaces 15-71. libgdk_pixbuf-2.0 - GDK pixbuf rendering on drawables library Data Interfaces 15-72. libgdk_pixbuf_xlib-2.0 Definition 15-73. libgdk_pixbuf_xlib-2.0 - GDK pixbuf rendering to an X drawable library Function Interfaces 15-74. libgdk-x11-2.0 Definition 15-75. libgdk-x11-2.0 - GTK Drawing toolkit Function Interfaces 15-76. libgdk-x11-2.0 - GTK Drawing toolkit Data Interfaces 15-77. libgtk-x11-2.0 Definition 15-78. libgtk-x11-2.0 - GTK main Widgets library Function Interfaces 15-79. libgtk-x11-2.0 - GTK main Widgets library Deprecated Function Interfaces 15-80. libgtk-x11-2.0 - GTK main Widgets library Data Interfaces 16-1. libQtCore Definition 16-2. Primary vtable for QObject 16-3. typeinfo for QObject 16-4. Primary vtable for QObjectUserData 16-5. typeinfo for QObjectUserData 16-6. Primary vtable for QIODevice 16-7. typeinfo for QIODevice 16-8. Primary vtable for QDataStream 16-9. typeinfo for QDataStream 16-10. Primary vtable for QTextCodec 16-11. typeinfo for QTextCodec 16-12. Primary vtable for QTextStream 16-13. typeinfo for QTextStream 16-14. Primary vtable for QFile 16-15. typeinfo for QFile 16-16. Primary vtable for QTemporaryFile 16-17. typeinfo for QTemporaryFile 16-18. Primary vtable for QAbstractFileEngine 16-19. typeinfo for QAbstractFileEngine 16-20. Primary vtable for QAbstractFileEngineHandler 16-21. typeinfo for QAbstractFileEngineHandler 16-22. Primary vtable for QFSFileEngine 16-23. typeinfo for QFSFileEngine 16-24. Primary vtable for QProcess 16-25. typeinfo for QProcess 16-26. Primary vtable for QBuffer 16-27. typeinfo for QBuffer 16-28. Primary vtable for QSettings 16-29. typeinfo for QSettings 16-30. Primary vtable for QFactoryInterface 16-31. typeinfo for QFactoryInterface 16-32. Primary vtable for QTextCodecFactoryInterface 16-33. typeinfo for QTextCodecFactoryInterface 16-34. Primary vtable for QTextCodecPlugin 16-35. typeinfo for QTextCodecPlugin 16-36. Primary vtable for QTranslator 16-37. typeinfo for QTranslator 16-38. Primary vtable for QMimeData 16-39. typeinfo for QMimeData 16-40. Primary vtable for QEventLoop 16-41. typeinfo for QEventLoop 16-42. Primary vtable for QEvent 16-43. typeinfo for QEvent 16-44. Primary vtable for QTimerEvent 16-45. typeinfo for QTimerEvent 16-46. Primary vtable for QChildEvent 16-47. typeinfo for QChildEvent 16-48. Primary vtable for QCustomEvent 16-49. typeinfo for QCustomEvent 16-50. Primary vtable for QCoreApplication 16-51. typeinfo for QCoreApplication 16-52. Primary vtable for QAbstractItemModel 16-53. typeinfo for QAbstractItemModel 16-54. Primary vtable for QAbstractTableModel 16-55. typeinfo for QAbstractTableModel 16-56. Primary vtable for QAbstractListModel 16-57. typeinfo for QAbstractListModel 16-58. Primary vtable for QSignalMapper 16-59. typeinfo for QSignalMapper 16-60. Primary vtable for QObjectCleanupHandler 16-61. typeinfo for QObjectCleanupHandler 16-62. Primary vtable for QSocketNotifier 16-63. typeinfo for QSocketNotifier 16-64. Primary vtable for QTimer 16-65. typeinfo for QTimer 16-66. Primary vtable for QAbstractEventDispatcher 16-67. typeinfo for QAbstractEventDispatcher 16-68. Primary vtable for QPluginLoader 16-69. typeinfo for QPluginLoader 16-70. Primary vtable for QLibrary 16-71. typeinfo for QLibrary 16-72. Primary vtable for QThread 16-73. typeinfo for QThread 16-74. Primary vtable for QDynamicPropertyChangeEvent 16-75. Primary vtable for QFileSystemWatcher 16-76. Primary vtable for QSystemLocale 16-77. Primary vtable for QTimeLine 16-78. libQtCore - QtCore Function Interfaces 16-79. libQtCore - QtCore Data Interfaces 16-80. libQtGui Definition 16-81. Primary vtable for QTextObject 16-82. typeinfo for QTextObject 16-83. Primary vtable for QTextBlockGroup 16-84. typeinfo for QTextBlockGroup 16-85. Primary vtable for QTextFrameLayoutData 16-86. typeinfo for QTextFrameLayoutData 16-87. Primary vtable for QTextFrame 16-88. typeinfo for QTextFrame 16-89. Primary vtable for QTextBlockUserData 16-90. typeinfo for QTextBlockUserData 16-91. Primary vtable for QTextDocument 16-92. typeinfo for QTextDocument 16-93. Primary vtable for QTextTable 16-94. typeinfo for QTextTable 16-95. Primary vtable for QMimeSource 16-96. typeinfo for QMimeSource 16-97. Primary vtable for QDrag 16-98. typeinfo for QDrag 16-99. Primary vtable for QInputEvent 16-100. typeinfo for QInputEvent 16-101. Primary vtable for QMouseEvent 16-102. typeinfo for QMouseEvent 16-103. Primary vtable for QHoverEvent 16-104. typeinfo for QHoverEvent 16-105. Primary vtable for QWheelEvent 16-106. typeinfo for QWheelEvent 16-107. Primary vtable for QTabletEvent 16-108. typeinfo for QTabletEvent 16-109. Primary vtable for QKeyEvent 16-110. typeinfo for QKeyEvent 16-111. Primary vtable for QFocusEvent 16-112. typeinfo for QFocusEvent 16-113. Primary vtable for QPaintEvent 16-114. typeinfo for QPaintEvent 16-115. Primary vtable for QMoveEvent 16-116. typeinfo for QMoveEvent 16-117. Primary vtable for QResizeEvent 16-118. typeinfo for QResizeEvent 16-119. Primary vtable for QCloseEvent 16-120. typeinfo for QCloseEvent 16-121. Primary vtable for QIconDragEvent 16-122. typeinfo for QIconDragEvent 16-123. Primary vtable for QShowEvent 16-124. typeinfo for QShowEvent 16-125. Primary vtable for QHideEvent 16-126. typeinfo for QHideEvent 16-127. Primary vtable for QContextMenuEvent 16-128. typeinfo for QContextMenuEvent 16-129. Primary vtable for QInputMethodEvent 16-130. typeinfo for QInputMethodEvent 16-131. Primary vtable for QDropEvent 16-132. typeinfo for QDropEvent 16-133. Primary vtable for QDragMoveEvent 16-134. typeinfo for QDragMoveEvent 16-135. Primary vtable for QDragEnterEvent 16-136. typeinfo for QDragEnterEvent 16-137. Primary vtable for QDragResponseEvent 16-138. typeinfo for QDragResponseEvent 16-139. Primary vtable for QDragLeaveEvent 16-140. typeinfo for QDragLeaveEvent 16-141. Primary vtable for QHelpEvent 16-142. typeinfo for QHelpEvent 16-143. Primary vtable for QStatusTipEvent 16-144. typeinfo for QStatusTipEvent 16-145. Primary vtable for QWhatsThisClickedEvent 16-146. typeinfo for QWhatsThisClickedEvent 16-147. Primary vtable for QActionEvent 16-148. typeinfo for QActionEvent 16-149. Primary vtable for QFileOpenEvent 16-150. typeinfo for QFileOpenEvent 16-151. Primary vtable for QToolBarChangeEvent 16-152. typeinfo for QToolBarChangeEvent 16-153. Primary vtable for QShortcutEvent 16-154. typeinfo for QShortcutEvent 16-155. Primary vtable for QClipboardEvent 16-156. typeinfo for QClipboardEvent 16-157. Primary vtable for QWindowStateChangeEvent 16-158. typeinfo for QWindowStateChangeEvent 16-159. Primary vtable for QMenubarUpdatedEvent 16-160. typeinfo for QMenubarUpdatedEvent 16-161. Primary vtable for QTextList 16-162. typeinfo for QTextList 16-163. Primary vtable for QAbstractTextDocumentLayout 16-164. typeinfo for QAbstractTextDocumentLayout 16-165. Primary vtable for QTextObjectInterface 16-166. typeinfo for QTextObjectInterface 16-167. Primary vtable for QSyntaxHighlighter 16-168. typeinfo for QSyntaxHighlighter 16-169. Primary vtable for QPaintDevice 16-170. typeinfo for QPaintDevice 16-171. Primary vtable for QWidget 16-172. typeinfo for QWidget 16-173. Primary vtable for QDialog 16-174. typeinfo for QDialog 16-175. Primary vtable for QAbstractPageSetupDialog 16-176. typeinfo for QAbstractPageSetupDialog 16-177. Primary vtable for QColorDialog 16-178. typeinfo for QColorDialog 16-179. Primary vtable for QFontDialog 16-180. typeinfo for QFontDialog 16-181. Primary vtable for QMessageBox 16-182. typeinfo for QMessageBox 16-183. Primary vtable for QProgressDialog 16-184. typeinfo for QProgressDialog 16-185. Primary vtable for QErrorMessage 16-186. typeinfo for QErrorMessage 16-187. Primary vtable for QFileDialog 16-188. typeinfo for QFileDialog 16-189. Primary vtable for QAbstractPrintDialog 16-190. typeinfo for QAbstractPrintDialog 16-191. Primary vtable for QPrintDialog 16-192. typeinfo for QPrintDialog 16-193. Primary vtable for QPageSetupDialog 16-194. typeinfo for QPageSetupDialog 16-195. Primary vtable for QFrame 16-196. typeinfo for QFrame 16-197. Primary vtable for QLineEdit 16-198. typeinfo for QLineEdit 16-199. Primary vtable for QInputDialog 16-200. typeinfo for QInputDialog 16-201. Primary vtable for QImage 16-202. typeinfo for QImage 16-203. Primary vtable for QPixmap 16-204. typeinfo for QPixmap 16-205. Primary vtable for QImageIOHandler 16-206. typeinfo for QImageIOHandler 16-207. Primary vtable for QImageIOHandlerFactoryInterface 16-208. typeinfo for QImageIOHandlerFactoryInterface 16-209. Primary vtable for QImageIOPlugin 16-210. typeinfo for QImageIOPlugin 16-211. Primary vtable for QPicture 16-212. typeinfo for QPicture 16-213. Primary vtable for QMovie 16-214. typeinfo for QMovie 16-215. Primary vtable for QIconEngineFactoryInterface 16-216. typeinfo for QIconEngineFactoryInterface 16-217. Primary vtable for QIconEnginePlugin 16-218. typeinfo for QIconEnginePlugin 16-219. Primary vtable for QIconEngine 16-220. typeinfo for QIconEngine 16-221. Primary vtable for QBitmap 16-222. typeinfo for QBitmap 16-223. Primary vtable for QPictureFormatInterface 16-224. typeinfo for QPictureFormatInterface 16-225. Primary vtable for QPictureFormatPlugin 16-226. typeinfo for QPictureFormatPlugin 16-227. Primary vtable for QPrinter 16-228. typeinfo for QPrinter 16-229. Primary vtable for QPrintEngine 16-230. typeinfo for QPrintEngine 16-231. Primary vtable for QStyle 16-232. typeinfo for QStyle 16-233. Primary vtable for QPaintEngine 16-234. typeinfo for QPaintEngine 16-235. Primary vtable for QItemSelectionModel 16-236. typeinfo for QItemSelectionModel 16-237. Primary vtable for QAbstractScrollArea 16-238. typeinfo for QAbstractScrollArea 16-239. Primary vtable for QValidator 16-240. typeinfo for QValidator 16-241. Primary vtable for QIntValidator 16-242. typeinfo for QIntValidator 16-243. Primary vtable for QDoubleValidator 16-244. typeinfo for QDoubleValidator 16-245. Primary vtable for QRegExpValidator 16-246. typeinfo for QRegExpValidator 16-247. Primary vtable for QAbstractSpinBox 16-248. typeinfo for QAbstractSpinBox 16-249. Primary vtable for QAbstractSlider 16-250. typeinfo for QAbstractSlider 16-251. Primary vtable for QSlider 16-252. typeinfo for QSlider 16-253. Primary vtable for QTabBar 16-254. typeinfo for QTabBar 16-255. Primary vtable for QTabWidget 16-256. typeinfo for QTabWidget 16-257. Primary vtable for QRubberBand 16-258. typeinfo for QRubberBand 16-259. Primary vtable for QAbstractItemDelegate 16-260. typeinfo for QAbstractItemDelegate 16-261. Primary vtable for QAbstractItemView 16-262. typeinfo for QAbstractItemView 16-263. Primary vtable for QStringListModel 16-264. typeinfo for QStringListModel 16-265. Primary vtable for QListView 16-266. typeinfo for QListView 16-267. Primary vtable for QListWidgetItem 16-268. typeinfo for QListWidgetItem 16-269. Primary vtable for QListWidget 16-270. typeinfo for QListWidget 16-271. Primary vtable for QFileIconProvider 16-272. typeinfo for QFileIconProvider 16-273. Primary vtable for QDirModel 16-274. typeinfo for QDirModel 16-275. Primary vtable for QStandardItemModel 16-276. typeinfo for QStandardItemModel 16-277. Primary vtable for QAbstractProxyModel 16-278. typeinfo for QAbstractProxyModel 16-279. Primary vtable for QSortFilterProxyModel 16-280. typeinfo for QSortFilterProxyModel 16-281. Primary vtable for QItemDelegate 16-282. typeinfo for QItemDelegate 16-283. Primary vtable for QTableView 16-284. typeinfo for QTableView 16-285. Primary vtable for QTableWidgetItem 16-286. typeinfo for QTableWidgetItem 16-287. Primary vtable for QTableWidget 16-288. typeinfo for QTableWidget 16-289. Primary vtable for QTreeView 16-290. typeinfo for QTreeView 16-291. Primary vtable for QProxyModel 16-292. typeinfo for QProxyModel 16-293. Primary vtable for QHeaderView 16-294. typeinfo for QHeaderView 16-295. Primary vtable for QItemEditorFactory 16-296. typeinfo for QItemEditorFactory 16-297. Primary vtable for QTreeWidgetItem 16-298. typeinfo for QTreeWidgetItem 16-299. Primary vtable for QTreeWidget 16-300. typeinfo for QTreeWidget 16-301. Primary vtable for QAccessibleBridgeFactoryInterface 16-302. typeinfo for QAccessibleBridgeFactoryInterface 16-303. Primary vtable for QAccessibleBridgePlugin 16-304. typeinfo for QAccessibleBridgePlugin 16-305. Primary vtable for QAccessibleInterface 16-306. typeinfo for QAccessibleInterface 16-307. Primary vtable for QAccessibleObject 16-308. typeinfo for QAccessibleObject 16-309. Primary vtable for QAccessibleApplication 16-310. typeinfo for QAccessibleApplication 16-311. Primary vtable for QAccessibleWidget 16-312. typeinfo for QAccessibleWidget 16-313. Primary vtable for QAccessibleFactoryInterface 16-314. typeinfo for QAccessibleFactoryInterface 16-315. Primary vtable for QAccessiblePlugin 16-316. typeinfo for QAccessiblePlugin 16-317. Primary vtable for QClipboard 16-318. typeinfo for QClipboard 16-319. Primary vtable for QDesktopWidget 16-320. typeinfo for QDesktopWidget 16-321. Primary vtable for QLayoutItem 16-322. typeinfo for QLayoutItem 16-323. Primary vtable for QSpacerItem 16-324. typeinfo for QSpacerItem 16-325. Primary vtable for QWidgetItem 16-326. typeinfo for QWidgetItem 16-327. Primary vtable for QLayout 16-328. typeinfo for QLayout 16-329. Primary vtable for QGridLayout 16-330. typeinfo for QGridLayout 16-331. Primary vtable for QBoxLayout 16-332. typeinfo for QBoxLayout 16-333. Primary vtable for QHBoxLayout 16-334. typeinfo for QHBoxLayout 16-335. Primary vtable for QVBoxLayout 16-336. typeinfo for QVBoxLayout 16-337. Primary vtable for QShortcut 16-338. typeinfo for QShortcut 16-339. Primary vtable for QSessionManager 16-340. typeinfo for QSessionManager 16-341. Primary vtable for QApplication 16-342. typeinfo for QApplication 16-343. Primary vtable for QAction 16-344. typeinfo for QAction 16-345. Primary vtable for QActionGroup 16-346. typeinfo for QActionGroup 16-347. Primary vtable for QSound 16-348. typeinfo for QSound 16-349. Primary vtable for QStackedLayout 16-350. typeinfo for QStackedLayout 16-351. Primary vtable for QCommonStyle 16-352. typeinfo for QCommonStyle 16-353. Primary vtable for QMotifStyle 16-354. typeinfo for QMotifStyle 16-355. Primary vtable for QStyleFactoryInterface 16-356. typeinfo for QStyleFactoryInterface 16-357. Primary vtable for QStylePlugin 16-358. typeinfo for QStylePlugin 16-359. Primary vtable for QWindowsStyle 16-360. typeinfo for QWindowsStyle 16-361. Primary vtable for QCDEStyle 16-362. typeinfo for QCDEStyle 16-363. Primary vtable for QPlastiqueStyle 16-364. typeinfo for QPlastiqueStyle 16-365. Primary vtable for QInputContextFactoryInterface 16-366. typeinfo for QInputContextFactoryInterface 16-367. Primary vtable for QInputContextPlugin 16-368. typeinfo for QInputContextPlugin 16-369. Primary vtable for QInputContext 16-370. typeinfo for QInputContext 16-371. Primary vtable for QAbstractButton 16-372. typeinfo for QAbstractButton 16-373. Primary vtable for QCheckBox 16-374. typeinfo for QCheckBox 16-375. Primary vtable for QMenu 16-376. typeinfo for QMenu 16-377. Primary vtable for QWorkspace 16-378. typeinfo for QWorkspace 16-379. Primary vtable for QButtonGroup 16-380. typeinfo for QButtonGroup 16-381. Primary vtable for QSpinBox 16-382. typeinfo for QSpinBox 16-383. Primary vtable for QDoubleSpinBox 16-384. typeinfo for QDoubleSpinBox 16-385. Primary vtable for QLCDNumber 16-386. typeinfo for QLCDNumber 16-387. Primary vtable for QStackedWidget 16-388. typeinfo for QStackedWidget 16-389. Primary vtable for QPushButton 16-390. typeinfo for QPushButton 16-391. Primary vtable for QSplashScreen 16-392. typeinfo for QSplashScreen 16-393. Primary vtable for QDateTimeEdit 16-394. typeinfo for QDateTimeEdit 16-395. Primary vtable for QTimeEdit 16-396. typeinfo for QTimeEdit 16-397. Primary vtable for QDateEdit 16-398. typeinfo for QDateEdit 16-399. Primary vtable for QLabel 16-400. typeinfo for QLabel 16-401. Primary vtable for QDockWidget 16-402. typeinfo for QDockWidget 16-403. Primary vtable for QGroupBox 16-404. typeinfo for QGroupBox 16-405. Primary vtable for QMainWindow 16-406. typeinfo for QMainWindow 16-407. Primary vtable for QTextEdit 16-408. typeinfo for QTextEdit 16-409. Primary vtable for QProgressBar 16-410. typeinfo for QProgressBar 16-411. Primary vtable for QScrollBar 16-412. typeinfo for QScrollBar 16-413. Primary vtable for QSizeGrip 16-414. typeinfo for QSizeGrip 16-415. Primary vtable for QTextBrowser 16-416. typeinfo for QTextBrowser 16-417. Primary vtable for QStatusBar 16-418. typeinfo for QStatusBar 16-419. Primary vtable for QScrollArea 16-420. typeinfo for QScrollArea 16-421. Primary vtable for QToolButton 16-422. typeinfo for QToolButton 16-423. Primary vtable for QComboBox 16-424. typeinfo for QComboBox 16-425. Primary vtable for QMenuItem 16-426. typeinfo for QMenuItem 16-427. Primary vtable for QRadioButton 16-428. typeinfo for QRadioButton 16-429. Primary vtable for QMenuBar 16-430. typeinfo for QMenuBar 16-431. Primary vtable for QFocusFrame 16-432. typeinfo for QFocusFrame 16-433. Primary vtable for QToolBar 16-434. typeinfo for QToolBar 16-435. Primary vtable for QToolBox 16-436. typeinfo for QToolBox 16-437. Primary vtable for QSplitter 16-438. typeinfo for QSplitter 16-439. Primary vtable for QSplitterHandle 16-440. typeinfo for QSplitterHandle 16-441. Primary vtable for QDial 16-442. typeinfo for QDial 16-443. Primary vtable for QAbstractGraphicsShapeItem 16-444. Primary vtable for QCleanlooksStyle 16-445. Primary vtable for QCompleter 16-446. Primary vtable for QDataWidgetMapper 16-447. Primary vtable for QGraphicsEllipseItem 16-448. Primary vtable for QGraphicsItem 16-449. Primary vtable for QGraphicsItemAnimation 16-450. Primary vtable for QGraphicsItemGroup 16-451. Primary vtable for QGraphicsLineItem 16-452. Primary vtable for QGraphicsPathItem 16-453. Primary vtable for QGraphicsPixmapItem 16-454. Primary vtable for QGraphicsPolygonItem 16-455. Primary vtable for QGraphicsRectItem 16-456. Primary vtable for QGraphicsScene 16-457. Primary vtable for QGraphicsSceneContextMenuEvent 16-458. Primary vtable for QGraphicsSceneDragDropEvent 16-459. Primary vtable for QGraphicsSceneEvent 16-460. Primary vtable for QGraphicsSceneHelpEvent 16-461. Primary vtable for QGraphicsSceneHoverEvent 16-462. Primary vtable for QGraphicsSceneMouseEvent 16-463. Primary vtable for QGraphicsSceneWheelEvent 16-464. Primary vtable for QGraphicsSimpleTextItem 16-465. Primary vtable for QStandardItem 16-466. Primary vtable for QSystemTrayIcon 16-467. Primary vtable for QUndoCommand 16-468. Primary vtable for QUndoStack 16-469. Primary vtable for QWidgetAction 16-470. libQtGui - QtGui Function Interfaces 16-471. libQtGui - QtGui Data Interfaces 16-472. libQtXml Definition 16-473. Primary vtable for QXmlAttributes 16-474. typeinfo for QXmlAttributes 16-475. Primary vtable for QXmlInputSource 16-476. typeinfo for QXmlInputSource 16-477. Primary vtable for QXmlReader 16-478. typeinfo for QXmlReader 16-479. Primary vtable for QXmlSimpleReader 16-480. typeinfo for QXmlSimpleReader 16-481. Primary vtable for QXmlLocator 16-482. typeinfo for QXmlLocator 16-483. Primary vtable for QXmlContentHandler 16-484. typeinfo for QXmlContentHandler 16-485. Primary vtable for QXmlErrorHandler 16-486. typeinfo for QXmlErrorHandler 16-487. Primary vtable for QXmlDTDHandler 16-488. typeinfo for QXmlDTDHandler 16-489. Primary vtable for QXmlEntityResolver 16-490. typeinfo for QXmlEntityResolver 16-491. Primary vtable for QXmlLexicalHandler 16-492. typeinfo for QXmlLexicalHandler 16-493. Primary vtable for QXmlDeclHandler 16-494. typeinfo for QXmlDeclHandler 16-495. Primary vtable for QXmlDefaultHandler 16-496. typeinfo for QXmlDefaultHandler 16-497. libQtXml - QtXml Function Interfaces 16-498. libQtXml - QtXml Data Interfaces 16-499. libQtOpenGL Definition 16-500. Primary vtable for QGLContext 16-501. typeinfo for QGLContext 16-502. Primary vtable for QGLWidget 16-503. typeinfo for QGLWidget 16-504. Primary vtable for QGLPixelBuffer 16-505. typeinfo for QGLPixelBuffer 16-506. libQtOpenGL - QtOpenGL Function Interfaces 16-507. libQtOpenGL - QtOpenGL Data Interfaces 16-508. libQtSql Definition 16-509. Primary vtable for QSqlResult 16-510. typeinfo for QSqlResult 16-511. Primary vtable for QSqlDriverFactoryInterface 16-512. typeinfo for QSqlDriverFactoryInterface 16-513. Primary vtable for QSqlDriverPlugin 16-514. typeinfo for QSqlDriverPlugin 16-515. Primary vtable for QSqlDriver 16-516. typeinfo for QSqlDriver 16-517. Primary vtable for QSqlQueryModel 16-518. typeinfo for QSqlQueryModel 16-519. Primary vtable for QSqlTableModel 16-520. typeinfo for QSqlTableModel 16-521. Primary vtable for QSqlRelationalTableModel 16-522. typeinfo for QSqlRelationalTableModel 16-523. libQtSql - QtSql Function Interfaces 16-524. libQtSql - QtSql Data Interfaces 16-525. libQtSvg Definition 16-526. Primary vtable for QSvgRenderer 16-527. typeinfo for QSvgRenderer 16-528. Primary vtable for QSvgWidget 16-529. typeinfo for QSvgWidget 16-530. libQtSvg - QtSvg Function Interfaces 16-531. libQtSvg - QtSvg Data Interfaces 16-532. libQtNetwork Definition 16-533. Primary vtable for QHttpHeader 16-534. typeinfo for QHttpHeader 16-535. Primary vtable for QHttpResponseHeader 16-536. typeinfo for QHttpResponseHeader 16-537. Primary vtable for QHttpRequestHeader 16-538. typeinfo for QHttpRequestHeader 16-539. Primary vtable for QHttp 16-540. typeinfo for QHttp 16-541. Primary vtable for QAbstractSocket 16-542. typeinfo for QAbstractSocket 16-543. Primary vtable for QUrlInfo 16-544. typeinfo for QUrlInfo 16-545. Primary vtable for QFtp 16-546. typeinfo for QFtp 16-547. Primary vtable for QTcpServer 16-548. typeinfo for QTcpServer 16-549. Primary vtable for QUdpSocket 16-550. typeinfo for QUdpSocket 16-551. Primary vtable for QTcpSocket 16-552. typeinfo for QTcpSocket 16-553. libQtNetwork - QtNetwork Function Interfaces 16-554. libQtNetwork - QtNetwork Data Interfaces 17-1. libqt-mt Definition 17-2. Primary vtable for QNetworkProtocolFactoryBase 17-3. typeinfo for QNetworkProtocolFactoryBase 17-4. libqt-mt - Qt Function Interfaces 17-5. libqt-mt - Qt Data Interfaces 17-6. Primary vtable for QPointArray 17-7. typeinfo for QPointArray 17-8. Primary vtable for QBitArray 17-9. typeinfo for QBitArray 17-10. libqt-mt - Qt3 Arrays Function Interfaces 17-11. libqt-mt - Qt3 Arrays Data Interfaces 17-12. Primary vtable for QPtrCollection 17-13. typeinfo for QPtrCollection 17-14. Primary vtable for QObjectList 17-15. typeinfo for QObjectList 17-16. libqt-mt - Qt3 Pointer Collection Function Interfaces 17-17. libqt-mt - Qt3 Pointer Collection Data Interfaces 17-18. libqt-mt - Qt3 Template Library Function Interfaces 17-19. libqt-mt - Qt3 COM Function Interfaces 17-20. libqt-mt - Qt3 COM Data Interfaces 17-21. Primary vtable for QTimer 17-22. typeinfo for QTimer 17-23. Primary vtable for QDateTimeEdit 17-24. typeinfo for QDateTimeEdit 17-25. Primary vtable for QDateTimeEditBase 17-26. typeinfo for QDateTimeEditBase 17-27. Primary vtable for QDateEdit 17-28. typeinfo for QDateEdit 17-29. Primary vtable for QTimeEdit 17-30. typeinfo for QTimeEdit 17-31. libqt-mt - Qt3 Date and Time Function Interfaces 17-32. libqt-mt - Qt3 Date and Time Data Interfaces 17-33. Primary vtable for QCanvasItem 17-34. typeinfo for QCanvasItem 17-35. Primary vtable for QCanvasSprite 17-36. typeinfo for QCanvasSprite 17-37. Primary vtable for QCanvasPolygonalItem 17-38. typeinfo for QCanvasPolygonalItem 17-39. Primary vtable for QCanvasRectangle 17-40. typeinfo for QCanvasRectangle 17-41. Primary vtable for QCanvasView 17-42. typeinfo for QCanvasView 17-43. Primary vtable for QCanvasEllipse 17-44. typeinfo for QCanvasEllipse 17-45. Primary vtable for QCanvasPixmap 17-46. typeinfo for QCanvasPixmap 17-47. Primary vtable for QCanvasLine 17-48. typeinfo for QCanvasLine 17-49. Primary vtable for QCanvasSpline 17-50. typeinfo for QCanvasSpline 17-51. Primary vtable for QCanvasText 17-52. typeinfo for QCanvasText 17-53. Primary vtable for QCanvasPolygon 17-54. typeinfo for QCanvasPolygon 17-55. Primary vtable for QCanvas 17-56. typeinfo for QCanvas 17-57. libqt-mt - Qt3 Canvas Function Interfaces 17-58. libqt-mt - Qt3 Canvas Data Interfaces 17-59. Primary vtable for QImageDrag 17-60. typeinfo for QImageDrag 17-61. Primary vtable for QDragLeaveEvent 17-62. typeinfo for QDragLeaveEvent 17-63. Primary vtable for QColorDrag 17-64. typeinfo for QColorDrag 17-65. Primary vtable for QDragResponseEvent 17-66. typeinfo for QDragResponseEvent 17-67. Primary vtable for QIconDrag 17-68. typeinfo for QIconDrag 17-69. Primary vtable for QUriDrag 17-70. typeinfo for QUriDrag 17-71. Primary vtable for QDropSite 17-72. typeinfo for QDropSite 17-73. Primary vtable for QStoredDrag 17-74. typeinfo for QStoredDrag 17-75. Primary vtable for QTextDrag 17-76. typeinfo for QTextDrag 17-77. Primary vtable for QDragEnterEvent 17-78. typeinfo for QDragEnterEvent 17-79. Primary vtable for QDragMoveEvent 17-80. typeinfo for QDragMoveEvent 17-81. Primary vtable for QDropEvent 17-82. typeinfo for QDropEvent 17-83. Primary vtable for QDragObject 17-84. typeinfo for QDragObject 17-85. Primary vtable for QIconDragItem 17-86. typeinfo for QIconDragItem 17-87. libqt-mt - Qt3 Drag and Drop Function Interfaces 17-88. libqt-mt - Qt3 Drag and Drop Data Interfaces 17-89. Primary vtable for QContextMenuEvent 17-90. typeinfo for QContextMenuEvent 17-91. Primary vtable for QIMEvent 17-92. typeinfo for QIMEvent 17-93. Primary vtable for QTimerEvent 17-94. typeinfo for QTimerEvent 17-95. Primary vtable for QKeyEvent 17-96. typeinfo for QKeyEvent 17-97. Primary vtable for QCustomEvent 17-98. typeinfo for QCustomEvent 17-99. Primary vtable for QEventLoop 17-100. typeinfo for QEventLoop 17-101. Primary vtable for QHideEvent 17-102. typeinfo for QHideEvent 17-103. Primary vtable for QResizeEvent 17-104. typeinfo for QResizeEvent 17-105. Primary vtable for QTabletEvent 17-106. typeinfo for QTabletEvent 17-107. Primary vtable for QFocusEvent 17-108. typeinfo for QFocusEvent 17-109. Primary vtable for QMouseEvent 17-110. typeinfo for QMouseEvent 17-111. Primary vtable for QChildEvent 17-112. typeinfo for QChildEvent 17-113. Primary vtable for QEvent 17-114. typeinfo for QEvent 17-115. Primary vtable for QIMComposeEvent 17-116. typeinfo for QIMComposeEvent 17-117. Primary vtable for QShowEvent 17-118. typeinfo for QShowEvent 17-119. Primary vtable for QPaintEvent 17-120. typeinfo for QPaintEvent 17-121. Primary vtable for QWheelEvent 17-122. typeinfo for QWheelEvent 17-123. Primary vtable for QMoveEvent 17-124. typeinfo for QMoveEvent 17-125. Primary vtable for QCloseEvent 17-126. typeinfo for QCloseEvent 17-127. libqt-mt - Qt3 Events Function Interfaces 17-128. libqt-mt - Qt3 Events Data Interfaces 17-129. Primary vtable for QUtf8Codec 17-130. typeinfo for QUtf8Codec 17-131. Primary vtable for QTranslator 17-132. typeinfo for QTranslator 17-133. Primary vtable for QGb18030Codec 17-134. typeinfo for QGb18030Codec 17-135. Primary vtable for QGbkCodec 17-136. typeinfo for QGbkCodec 17-137. Primary vtable for QUtf16Codec 17-138. typeinfo for QUtf16Codec 17-139. Primary vtable for QEucKrCodec 17-140. typeinfo for QEucKrCodec 17-141. Primary vtable for QJisCodec 17-142. typeinfo for QJisCodec 17-143. Primary vtable for QTextEncoder 17-144. typeinfo for QTextEncoder 17-145. Primary vtable for QTsciiCodec 17-146. typeinfo for QTsciiCodec 17-147. Primary vtable for QSjisCodec 17-148. typeinfo for QSjisCodec 17-149. Primary vtable for QEucJpCodec 17-150. typeinfo for QEucJpCodec 17-151. Primary vtable for QGb2312Codec 17-152. typeinfo for QGb2312Codec 17-153. Primary vtable for QHebrewCodec 17-154. typeinfo for QHebrewCodec 17-155. Primary vtable for QTextDecoder 17-156. typeinfo for QTextDecoder 17-157. Primary vtable for QTextCodec 17-158. typeinfo for QTextCodec 17-159. Primary vtable for QJpUnicodeConv 17-160. typeinfo for QJpUnicodeConv 17-161. libqt-mt - Qt3 Internationalization Function Interfaces 17-162. libqt-mt - Qt3 Internationalization Data Interfaces 17-163. Primary vtable for QDataSource 17-164. typeinfo for QDataSource 17-165. Primary vtable for QProcess 17-166. typeinfo for QProcess 17-167. Primary vtable for QDataPump 17-168. typeinfo for QDataPump 17-169. Primary vtable for QFile 17-170. typeinfo for QFile 17-171. Primary vtable for QBuffer 17-172. typeinfo for QBuffer 17-173. Primary vtable for QClipboard 17-174. typeinfo for QClipboard 17-175. Primary vtable for QAsyncIO 17-176. typeinfo for QAsyncIO 17-177. Primary vtable for QSignal 17-178. typeinfo for QSignal 17-179. Primary vtable for QDataSink 17-180. typeinfo for QDataSink 17-181. Primary vtable for QDir 17-182. typeinfo for QDir 17-183. Primary vtable for QTextOStream 17-184. typeinfo for QTextOStream 17-185. Primary vtable for QTextStream 17-186. typeinfo for QTextStream 17-187. Primary vtable for QSignalMapper 17-188. typeinfo for QSignalMapper 17-189. Primary vtable for QIODeviceSource 17-190. typeinfo for QIODeviceSource 17-191. Primary vtable for QIODevice 17-192. typeinfo for QIODevice 17-193. Primary vtable for QDataStream 17-194. typeinfo for QDataStream 17-195. libqt-mt - Qt3 Input/Output Function Interfaces 17-196. libqt-mt - Qt3 Input/Output Data Interfaces 17-197. Primary vtable for QImageFormat 17-198. typeinfo for QImageFormat 17-199. Primary vtable for QSound 17-200. typeinfo for QSound 17-201. Primary vtable for QImageConsumer 17-202. typeinfo for QImageConsumer 17-203. Primary vtable for QImageFormatType 17-204. typeinfo for QImageFormatType 17-205. libqt-mt - Qt3 Multimedia Function Interfaces 17-206. libqt-mt - Qt3 Multimedia Data Interfaces 17-207. Primary vtable for QMimeSourceFactory 17-208. typeinfo for QMimeSourceFactory 17-209. Primary vtable for QUrlOperator 17-210. typeinfo for QUrlOperator 17-211. Primary vtable for QSocket 17-212. typeinfo for QSocket 17-213. Primary vtable for QSocketNotifier 17-214. typeinfo for QSocketNotifier 17-215. Primary vtable for QNetworkProtocol 17-216. typeinfo for QNetworkProtocol 17-217. Primary vtable for QUrl 17-218. typeinfo for QUrl 17-219. Primary vtable for QSocketDevice 17-220. typeinfo for QSocketDevice 17-221. Primary vtable for QHttpResponseHeader 17-222. typeinfo for QHttpResponseHeader 17-223. Primary vtable for QServerSocket 17-224. typeinfo for QServerSocket 17-225. Primary vtable for QUrlInfo 17-226. typeinfo for QUrlInfo 17-227. Primary vtable for QNetworkOperation 17-228. typeinfo for QNetworkOperation 17-229. Primary vtable for QHttp 17-230. typeinfo for QHttp 17-231. Primary vtable for QMimeSource 17-232. typeinfo for QMimeSource 17-233. Primary vtable for QDns 17-234. typeinfo for QDns 17-235. Primary vtable for QHttpRequestHeader 17-236. typeinfo for QHttpRequestHeader 17-237. Primary vtable for QHttpHeader 17-238. typeinfo for QHttpHeader 17-239. Primary vtable for QLocalFs 17-240. typeinfo for QLocalFs 17-241. Primary vtable for QConnectionList 17-242. typeinfo for QConnectionList 17-243. Primary vtable for QHostAddress 17-244. typeinfo for QHostAddress 17-245. Primary vtable for QFtp 17-246. typeinfo for QFtp 17-247. libqt-mt - Qt3 Network Function Interfaces 17-248. libqt-mt - Qt3 Network Data Interfaces 17-249. Primary vtable for QObjectCleanupHandler 17-250. typeinfo for QObjectCleanupHandler 17-251. Primary vtable for QObjectUserData 17-252. typeinfo for QObjectUserData 17-253. Primary vtable for QObject 17-254. typeinfo for QObject 17-255. Primary vtable for QMetaObject 17-256. typeinfo for QMetaObject 17-257. Primary vtable for QGuardedPtrPrivate 17-258. typeinfo for QGuardedPtrPrivate 17-259. libqt-mt - Qt3 Object Model Function Interfaces 17-260. libqt-mt - Qt3 Object Model Data Interfaces 17-261. libqt-mt - Qt3 OpenGL Function Interfaces 17-262. libqt-mt - Qt3 OpenGL Data Interfaces 17-263. Primary vtable for QPaintDevice 17-264. typeinfo for QPaintDevice 17-265. Primary vtable for QBitmap 17-266. typeinfo for QBitmap 17-267. Primary vtable for QPicture 17-268. typeinfo for QPicture 17-269. Primary vtable for QPixmap 17-270. typeinfo for QPixmap 17-271. Primary vtable for QPrinter 17-272. typeinfo for QPrinter 17-273. libqt-mt - Qt3 Paint Device Function Interfaces 17-274. libqt-mt - Qt3 Paint Device Data Interfaces 17-275. Primary vtable for QSqlResult 17-276. typeinfo for QSqlResult 17-277. Primary vtable for QSqlSelectCursor 17-278. typeinfo for QSqlSelectCursor 17-279. Primary vtable for QSqlDriver 17-280. typeinfo for QSqlDriver 17-281. Primary vtable for QSqlPropertyMap 17-282. typeinfo for QSqlPropertyMap 17-283. Primary vtable for QSqlQuery 17-284. typeinfo for QSqlQuery 17-285. Primary vtable for QSqlRecord 17-286. typeinfo for QSqlRecord 17-287. Primary vtable for QSqlDatabase 17-288. typeinfo for QSqlDatabase 17-289. Primary vtable for QEditorFactory 17-290. typeinfo for QEditorFactory 17-291. Primary vtable for QSqlDriverPlugin 17-292. typeinfo for QSqlDriverPlugin 17-293. Primary vtable for QSqlResultShared 17-294. typeinfo for QSqlResultShared 17-295. Primary vtable for QSqlError 17-296. typeinfo for QSqlError 17-297. Primary vtable for QSqlForm 17-298. typeinfo for QSqlForm 17-299. Primary vtable for QSqlEditorFactory 17-300. typeinfo for QSqlEditorFactory 17-301. Primary vtable for QSqlCursor 17-302. typeinfo for QSqlCursor 17-303. Primary vtable for QSqlFieldInfo 17-304. typeinfo for QSqlFieldInfo 17-305. Primary vtable for QSqlIndex 17-306. typeinfo for QSqlIndex 17-307. Primary vtable for QSqlField 17-308. typeinfo for QSqlField 17-309. libqt-mt - Qt3 SQL Function Interfaces 17-310. libqt-mt - Qt3 SQL Data Interfaces 17-311. Primary vtable for QCommonStyle 17-312. typeinfo for QCommonStyle 17-313. Primary vtable for QStyle 17-314. typeinfo for QStyle 17-315. libqt-mt - Qt3 Style Function Interfaces 17-316. libqt-mt - Qt3 Style Data Interfaces 17-317. Primary vtable for QSyntaxHighlighter 17-318. typeinfo for QSyntaxHighlighter 17-319. Primary vtable for QStyleSheet 17-320. typeinfo for QStyleSheet 17-321. Primary vtable for QStrList 17-322. typeinfo for QStrList 17-323. Primary vtable for QCString 17-324. typeinfo for QCString 17-325. libqt-mt - Qt3 Text Function Interfaces 17-326. libqt-mt - Qt3 Text Data Interfaces 17-327. Primary vtable for QWaitCondition 17-328. typeinfo for QWaitCondition 17-329. Primary vtable for QMutex 17-330. typeinfo for QMutex 17-331. Primary vtable for QThread 17-332. typeinfo for QThread 17-333. Primary vtable for QSemaphore 17-334. typeinfo for QSemaphore 17-335. libqt-mt - Qt3 Threading Function Interfaces 17-336. libqt-mt - Qt3 Threading Data Interfaces 17-337. Primary vtable for QToolBar 17-338. typeinfo for QToolBar 17-339. Primary vtable for QActionGroup 17-340. typeinfo for QActionGroup 17-341. Primary vtable for QStatusBar 17-342. typeinfo for QStatusBar 17-343. Primary vtable for QSizeGrip 17-344. typeinfo for QSizeGrip 17-345. Primary vtable for QSessionManager 17-346. typeinfo for QSessionManager 17-347. Primary vtable for QApplication 17-348. typeinfo for QApplication 17-349. Primary vtable for QWorkspace 17-350. typeinfo for QWorkspace 17-351. Primary vtable for QAction 17-352. typeinfo for QAction 17-353. libqt-mt - Qt3 Main Window and Application Function Interfaces 17-354. libqt-mt - Qt3 Main Window and Application Data Interfaces 17-355. Primary vtable for QFrame 17-356. typeinfo for QFrame 17-357. Primary vtable for QScrollView 17-358. typeinfo for QScrollView 17-359. Primary vtable for QTextBrowser 17-360. typeinfo for QTextBrowser 17-361. Primary vtable for QLineEdit 17-362. typeinfo for QLineEdit 17-363. Primary vtable for QListBoxText 17-364. typeinfo for QListBoxText 17-365. Primary vtable for QLCDNumber 17-366. typeinfo for QLCDNumber 17-367. Primary vtable for QGridView 17-368. typeinfo for QGridView 17-369. Primary vtable for QButton 17-370. typeinfo for QButton 17-371. Primary vtable for QTabWidget 17-372. typeinfo for QTabWidget 17-373. Primary vtable for QTextView 17-374. typeinfo for QTextView 17-375. Primary vtable for QTab 17-376. typeinfo for QTab 17-377. Primary vtable for QDial 17-378. typeinfo for QDial 17-379. Primary vtable for QListView 17-380. typeinfo for QListView 17-381. Primary vtable for QDesktopWidget 17-382. typeinfo for QDesktopWidget 17-383. Primary vtable for QListBoxItem 17-384. typeinfo for QListBoxItem 17-385. Primary vtable for QScrollBar 17-386. typeinfo for QScrollBar 17-387. Primary vtable for QIconFactory 17-388. typeinfo for QIconFactory 17-389. Primary vtable for QSpinBox 17-390. typeinfo for QSpinBox 17-391. Primary vtable for QLabel 17-392. typeinfo for QLabel 17-393. Primary vtable for QListBoxPixmap 17-394. typeinfo for QListBoxPixmap 17-395. Primary vtable for QWhatsThis 17-396. typeinfo for QWhatsThis 17-397. Primary vtable for QMultiLineEdit 17-398. typeinfo for QMultiLineEdit 17-399. Primary vtable for QListBox 17-400. typeinfo for QListBox 17-401. Primary vtable for QComboBox 17-402. typeinfo for QComboBox 17-403. Primary vtable for QRadioButton 17-404. typeinfo for QRadioButton 17-405. Primary vtable for QSlider 17-406. typeinfo for QSlider 17-407. Primary vtable for QMainWindow 17-408. typeinfo for QMainWindow 17-409. Primary vtable for QToolButton 17-410. typeinfo for QToolButton 17-411. Primary vtable for QWidgetIntDict 17-412. typeinfo for QWidgetIntDict 17-413. Primary vtable for QTabBar 17-414. typeinfo for QTabBar 17-415. Primary vtable for QToolTip 17-416. typeinfo for QToolTip 17-417. Primary vtable for QCheckBox 17-418. typeinfo for QCheckBox 17-419. Primary vtable for QDockWindow 17-420. typeinfo for QDockWindow 17-421. Primary vtable for QSpinWidget 17-422. typeinfo for QSpinWidget 17-423. Primary vtable for QToolBox 17-424. typeinfo for QToolBox 17-425. Primary vtable for QProgressBar 17-426. typeinfo for QProgressBar 17-427. Primary vtable for QIconViewItem 17-428. typeinfo for QIconViewItem 17-429. Primary vtable for QCheckListItem 17-430. typeinfo for QCheckListItem 17-431. Primary vtable for QDockArea 17-432. typeinfo for QDockArea 17-433. Primary vtable for QListViewItem 17-434. typeinfo for QListViewItem 17-435. Primary vtable for QIconView 17-436. typeinfo for QIconView 17-437. Primary vtable for QWidget 17-438. typeinfo for QWidget 17-439. Primary vtable for QToolTipGroup 17-440. typeinfo for QToolTipGroup 17-441. Primary vtable for QPushButton 17-442. typeinfo for QPushButton 17-443. Primary vtable for QWidgetList 17-444. typeinfo for QWidgetList 17-445. Primary vtable for QDataView 17-446. typeinfo for QDataView 17-447. Primary vtable for QDataBrowser 17-448. typeinfo for QDataBrowser 17-449. Primary vtable for QTextEdit 17-450. typeinfo for QTextEdit 17-451. libqt-mt - Qt3 Widgets Function Interfaces 17-452. libqt-mt - Qt3 Widgets Data Interfaces 17-453. Primary vtable for QPopupMenu 17-454. typeinfo for QPopupMenu 17-455. Primary vtable for QMenuBar 17-456. typeinfo for QMenuBar 17-457. Primary vtable for QCustomMenuItem 17-458. typeinfo for QCustomMenuItem 17-459. Primary vtable for QMenuData 17-460. typeinfo for QMenuData 17-461. libqt-mt - Qt3 Menus Function Interfaces 17-462. libqt-mt - Qt3 Menus Data Interfaces 17-463. Primary vtable for QHBox 17-464. typeinfo for QHBox 17-465. Primary vtable for QSplitter 17-466. typeinfo for QSplitter 17-467. Primary vtable for QVBox 17-468. typeinfo for QVBox 17-469. Primary vtable for QGroupBox 17-470. typeinfo for QGroupBox 17-471. Primary vtable for QHGroupBox 17-472. typeinfo for QHGroupBox 17-473. Primary vtable for QHButtonGroup 17-474. typeinfo for QHButtonGroup 17-475. Primary vtable for QWidgetStack 17-476. typeinfo for QWidgetStack 17-477. Primary vtable for QButtonGroup 17-478. typeinfo for QButtonGroup 17-479. Primary vtable for QVButtonGroup 17-480. typeinfo for QVButtonGroup 17-481. Primary vtable for QGrid 17-482. typeinfo for QGrid 17-483. Primary vtable for QVGroupBox 17-484. typeinfo for QVGroupBox 17-485. libqt-mt - Qt3 Organizers Function Interfaces 17-486. libqt-mt - Qt3 Organizers Data Interfaces 17-487. Primary vtable for QDockAreaLayout 17-488. typeinfo for QDockAreaLayout 17-489. Primary vtable for QBoxLayout 17-490. typeinfo for QBoxLayout 17-491. Primary vtable for QLayout 17-492. typeinfo for QLayout 17-493. Primary vtable for QHBoxLayout 17-494. typeinfo for QHBoxLayout 17-495. Primary vtable for QVBoxLayout 17-496. typeinfo for QVBoxLayout 17-497. Primary vtable for QGLayoutIterator 17-498. typeinfo for QGLayoutIterator 17-499. Primary vtable for QWidgetItem 17-500. typeinfo for QWidgetItem 17-501. Primary vtable for QGridLayout 17-502. typeinfo for QGridLayout 17-503. Primary vtable for QSpacerItem 17-504. typeinfo for QSpacerItem 17-505. Primary vtable for QLayoutItem 17-506. typeinfo for QLayoutItem 17-507. libqt-mt - Qt3 Layouts Function Interfaces 17-508. libqt-mt - Qt3 Layouts Data Interfaces 17-509. Primary vtable for QProgressDialog 17-510. typeinfo for QProgressDialog 17-511. Primary vtable for QWizard 17-512. typeinfo for QWizard 17-513. Primary vtable for QSemiModal 17-514. typeinfo for QSemiModal 17-515. Primary vtable for QFileDialog 17-516. typeinfo for QFileDialog 17-517. Primary vtable for QErrorMessage 17-518. typeinfo for QErrorMessage 17-519. Primary vtable for QFilePreview 17-520. typeinfo for QFilePreview 17-521. Primary vtable for QMessageBox 17-522. typeinfo for QMessageBox 17-523. Primary vtable for QDialog 17-524. typeinfo for QDialog 17-525. Primary vtable for QFontDialog 17-526. typeinfo for QFontDialog 17-527. Primary vtable for QPrintDialog 17-528. typeinfo for QPrintDialog 17-529. Primary vtable for QColorDialog 17-530. typeinfo for QColorDialog 17-531. Primary vtable for QInputDialog 17-532. typeinfo for QInputDialog 17-533. Primary vtable for QTabDialog 17-534. typeinfo for QTabDialog 17-535. Primary vtable for QFileIconProvider 17-536. typeinfo for QFileIconProvider 17-537. libqt-mt - Qt3 Dialogs Function Interfaces 17-538. libqt-mt - Qt3 Dialogs Data Interfaces 17-539. Primary vtable for QTableItem 17-540. typeinfo for QTableItem 17-541. Primary vtable for QCheckTableItem 17-542. typeinfo for QCheckTableItem 17-543. Primary vtable for QHeader 17-544. typeinfo for QHeader 17-545. Primary vtable for QDataTable 17-546. typeinfo for QDataTable 17-547. Primary vtable for QComboTableItem 17-548. typeinfo for QComboTableItem 17-549. Primary vtable for QTable 17-550. typeinfo for QTable 17-551. libqt-mt - Qt3 Tables Function Interfaces 17-552. libqt-mt - Qt3 Tables Data Interfaces 17-553. Primary vtable for QGPlugin 17-554. typeinfo for QGPlugin 17-555. Primary vtable for QStylePlugin 17-556. typeinfo for QStylePlugin 17-557. Primary vtable for QTextCodecPlugin 17-558. typeinfo for QTextCodecPlugin 17-559. Primary vtable for QWidgetPlugin 17-560. typeinfo for QWidgetPlugin 17-561. Primary vtable for QLibrary 17-562. typeinfo for QLibrary 17-563. Primary vtable for QImageFormatPlugin 17-564. typeinfo for QImageFormatPlugin 17-565. libqt-mt - Qt3 Plugins Function Interfaces 17-566. libqt-mt - Qt3 Plugins Data Interfaces 17-567. Primary vtable for QXmlEntityResolver 17-568. typeinfo for QXmlEntityResolver 17-569. Primary vtable for QXmlLocator 17-570. typeinfo for QXmlLocator 17-571. Primary vtable for QDomElement 17-572. typeinfo for QDomElement 17-573. Primary vtable for QDomImplementation 17-574. typeinfo for QDomImplementation 17-575. Primary vtable for QDomDocumentType 17-576. typeinfo for QDomDocumentType 17-577. Primary vtable for QDomDocument 17-578. typeinfo for QDomDocument 17-579. Primary vtable for QDomAttr 17-580. typeinfo for QDomAttr 17-581. Primary vtable for QDomNodeList 17-582. typeinfo for QDomNodeList 17-583. Primary vtable for QXmlReader 17-584. typeinfo for QXmlReader 17-585. Primary vtable for QDomEntity 17-586. typeinfo for QDomEntity 17-587. Primary vtable for QXmlDeclHandler 17-588. typeinfo for QXmlDeclHandler 17-589. Primary vtable for QDomNode 17-590. typeinfo for QDomNode 17-591. Primary vtable for QDomText 17-592. typeinfo for QDomText 17-593. Primary vtable for QDomCharacterData 17-594. typeinfo for QDomCharacterData 17-595. Primary vtable for QDomComment 17-596. typeinfo for QDomComment 17-597. Primary vtable for QXmlDefaultHandler 17-598. typeinfo for QXmlDefaultHandler 17-599. Primary vtable for QDomNotation 17-600. typeinfo for QDomNotation 17-601. Primary vtable for QXmlSimpleReader 17-602. typeinfo for QXmlSimpleReader 17-603. Primary vtable for QXmlLexicalHandler 17-604. typeinfo for QXmlLexicalHandler 17-605. Primary vtable for QXmlAttributes 17-606. typeinfo for QXmlAttributes 17-607. Primary vtable for QDomProcessingInstruction 17-608. typeinfo for QDomProcessingInstruction 17-609. Primary vtable for QXmlContentHandler 17-610. typeinfo for QXmlContentHandler 17-611. Primary vtable for QDomEntityReference 17-612. typeinfo for QDomEntityReference 17-613. Primary vtable for QDomCDATASection 17-614. typeinfo for QDomCDATASection 17-615. Primary vtable for QXmlDTDHandler 17-616. typeinfo for QXmlDTDHandler 17-617. Primary vtable for QXmlInputSource 17-618. typeinfo for QXmlInputSource 17-619. Primary vtable for QXmlErrorHandler 17-620. typeinfo for QXmlErrorHandler 17-621. Primary vtable for QDomDocumentFragment 17-622. typeinfo for QDomDocumentFragment 17-623. libqt-mt - Qt3 XML Function Interfaces 17-624. libqt-mt - Qt3 XML Data Interfaces 17-625. libqt-mt - Qt3 Namespace Data Interfaces 17-626. libqt-mt - Qt3 Colors Function Interfaces 17-627. libqt-mt - Qt3 Colors Data Interfaces 17-628. libqt-mt - Qt3 Fonts Function Interfaces 17-629. Primary vtable for QIconSet 17-630. typeinfo for QIconSet 17-631. libqt-mt - Qt3 2D Graphics Function Interfaces 17-632. libqt-mt - Qt3 2D Graphics Data Interfaces 17-633. Primary vtable for QRegExpValidator 17-634. typeinfo for QRegExpValidator 17-635. Primary vtable for QIntValidator 17-636. typeinfo for QIntValidator 17-637. Primary vtable for QValidator 17-638. typeinfo for QValidator 17-639. Primary vtable for QDoubleValidator 17-640. typeinfo for QDoubleValidator 17-641. libqt-mt - Qt3 Validators Function Interfaces 17-642. libqt-mt - Qt3 Validators Data Interfaces 17-643. Primary vtable for QGVector 17-644. typeinfo for QGVector 17-645. Primary vtable for QGList 17-646. typeinfo for QGList 17-647. Primary vtable for QPolygonScanner 17-648. typeinfo for QPolygonScanner 17-649. Primary vtable for QGCache 17-650. typeinfo for QGCache 17-651. Primary vtable for QGArray 17-652. typeinfo for QGArray 17-653. Primary vtable for QSignalVec 17-654. typeinfo for QSignalVec 17-655. Primary vtable for QGDict 17-656. typeinfo for QGDict 17-657. libqt-mt - Qt3 Internals Function Interfaces 17-658. libqt-mt - Qt3 Internals Data Interfaces 17-659. Primary vtable for QRangeControl 17-660. typeinfo for QRangeControl 17-661. Primary vtable for QSplashScreen 17-662. typeinfo for QSplashScreen 17-663. Primary vtable for QAccel 17-664. typeinfo for QAccel 17-665. libqt-mt - Qt3 Miscellaneous Function Interfaces 17-666. libqt-mt - Qt3 Miscellaneous Data Interfaces 18-1. libxml2 Definition 18-2. libxml2 - The XML C parser and toolkit for XML processing Function Interfaces 18-3. libxml2 - The XML C parser and toolkit for XML processing Data Interfaces __________________________________________________________ Foreword This is version 3.2 of the LSB Desktop Specification. This specification is part of a family of specifications under the general title"Linux Standard Base". Developers of applications or implementations interested in using the LSB trademark should see the Linux Foundation Certification Policy for details. __________________________________________________________ Introduction The LSB Desktop specification defines components that are required to be present on an LSB conforming system. This document should be used in conjunction with the documents it references. Information referenced in this way is as much a part of this document as is the information explicitly included here. I. Introductory Elements Table of Contents 1. Scope 2. References 2.1. Normative References 2.2. Informative References/Bibliography 3. Requirements 3.1. Relevant Libraries 4. Definitions 5. Terminology __________________________________________________________ Chapter 1. Scope The LSB Desktop module defines components found on an LSB conforming system. __________________________________________________________ Chapter 2. References 2.1. Normative References The specifications listed below are referenced in whole or in part by the LSB Desktop specification. Such references may be normative or informative; a reference to specification shall only be considered normative if it is explicitly cited as such. The LSB Desktop specification may make normative references to a portion of these specifications (that is, to define a specific function or group of functions); in such cases, only the explicitly referenced portion of the specification is to be considered normative. Table 2-1. Normative References Name Title URL ATK 1.9.0 Reference Manual ATK 1.9.0 Reference Manual http://www.gtk.org/api/2.6/atk/index.html Double Buffer Extension Library Double Buffer Extension Library - Protocol Version 1.0 http://refspecs.linux-foundation.org/X11/dbelib.pdf Fontconfig Developers Reference Fontconfig Developers Reference, Version 2.3.0 http://fontconfig.org/fontconfig-devel/ Gdk 2.6.2 Reference Manual Gdk 2.6.2 Reference Manual http://www.gtk.org/api/2.6/gdk/index.html Gdk-pixbuf 2.6.2 Reference Manual Gdk-pixbuf 2.6.2 Reference Manual http://www.gtk.org/api/2.6/gdk-pixbuf/index.html Glib 2.6.2 Reference Manual Glib 2.6.2 Reference Manual http://www.gtk.org/api/2.6/glib/index.html Gobject 2.6.2 Reference Manual Gobject 2.6.2 Reference Manual http://www.gtk.org/api/2.6/gobject/index.html Gtk 2.6.2 Reference Manual Gtk 2.6.2 Reference Manual http://www.gtk.org/api/2.6/gtk/index.html ISO C (1999) ISO/IEC 9899: 1999, Programming Languages --C ISO/IEC 14882: 2003 C++ Language ISO/IEC 14882: 2003 Programming languages --C++ Itanium(TM) C++ ABI Itanium(TM) C++ ABI (Revision 1.83) http://refspecs.linux-foundation.org/cxxabi-1.83.html OpenGL OpenGL Application Binary Interface for Linux http://oss.sgi.com/projects/ogl-sample/ABI/ Pango 1.8.0 Reference Manual Pango 1.8.0 Reference Manual http://www.gtk.org/api/2.6/pango/index.html Qt 3.3.6 Qt 3.3.6 Reference Manual http://doc.trolltech.com/3.3/index.html QtCore 4.2.0 Qt 4.2.0 Reference Manual http://doc.trolltech.com/4.2/qtcore.html QtGui 4.2.0 Qt 4.2.0 Reference Manual http://doc.trolltech.com/4.2/qtgui.html QtNetwork 4.2.0 Qt 4.2.0 Reference Manual http://doc.trolltech.com/4.2/qtnetwork.html QtOpenGL 4.2.0 Qt 4.2.0 Reference Manual http://doc.trolltech.com/4.2/qtopengl.html QtSql 4.2.0 Qt 4.2.0 Reference Manual http://doc.trolltech.com/4.2/qtsql.html QtSvg 4.2.0 Qt 4.2.0 Reference Manual http://doc.trolltech.com/4.2/qtsvg.html QtXml 4.2.0 Qt 4.2.0 Reference Manual http://doc.trolltech.com/4.2/qtxml.html Reference Manual for libxml2 Reference Manual for libxml2 http://xmlsoft.org/html/index.html The MIT Shared Memory Extension MIT-SHM - The MIT Shared Memory Extension - X version 11, Release 5 http://refspecs.linux-foundation.org/X11/mit-shm.pdf X Display Power Management Signaling X Display Power Management Signaling (DPMS) Extension - Library Specificationi - Version 1.0 http://refspecs.linux-foundation.org/X11/DPMSlib.pdf X Extended Visual Interface Extension Extended Visual Information Extension - Version 1.0 http://refspecs.linux-foundation.org/X11/evi.pdf X Nonrectangular Window Shape Extension Library X Nonrectangular Window Shape Extension Library - Version 1.0 http://refspecs.linux-foundation.org/X11/shapelib.pdf X Record Extension Library X Record Extension Library - Version 1.13 http://refspecs.linux-foundation.org/X11/recordlib.pdf X Security Extension Specification Security Extension Specification - Version 7.1 http://refspecs.linux-foundation.org/X11/security.pdf X Synchronization Extension Library X Synchronization Extension Library - Version 3.0 http://refspecs.linux-foundation.org/X11/synclib.pdf X11 C Library Xlib - C Language X Interface - X Version 11 Release 6.4 http://refspecs.linux-foundation.org/X11/xlib.pdf X11 Input Library X Input Device Extension Library - X Version 11, Release 6.4 http://refspecs.linux-foundation.org/X11/Xinput.pdf X11 Inter-Client Exchange Inter-Client Exchange Library - Version 1.0 http://refspecs.linux-foundation.org/X11/ICElib.pdf X11 Session Management X Session Management Library - Version 1.0 http://refspecs.linux-foundation.org/X11/SMlib.pdf X11 Toolkit Intrinsics X Toolkit Intrinsics - C Language Interface - X Version 11, Release 6.4 http://refspecs.linux-foundation.org/X11/intrinsics.pdf Xft Placeholder Xft Specification Placeholder Xrender Placeholder Xrender Specification Placeholder http://refspecs.linux-foundation.org/X11/XRenderProtocol.html __________________________________________________________ 2.2. Informative References/Bibliography In addition, the specifications listed below provide essential background information to implementors of this specification. These references are included for information only. Table 2-2. Other References Name Title URL A description on how to use and modify libpng A description on how to use and modify libpng http://www.libpng.org/pub/png/libpng-1.2.5-manual.html Base Directory Spec XDG Base Directory Specification Versio 0.6 http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6. html Desktop Entry Spec Desktop Entry Specification Version 1.0 http://standards.freedesktop.org/desktop-entry-spec/desktop-ent ry-spec-1.0.html Desktop Menu Spec Desktop Menu Specification Version 1.0 http://standards.freedesktop.org/menu-spec/menu-spec-1.0.html FreeType Reference FreeType 2.1.10 API Reference http://refspecs.linux-foundation.org/freetype/freetype-doc-2.1. 10/docs/reference/ft2-toc.html Icon Theme Spec Icon Theme Specification Version 0.11 http://standards.freedesktop.org/icon-theme-spec/icon-theme-spe c-0.11.html Independent JPEG Group Independent JPEG Group http://www.ijg.org/ __________________________________________________________ Chapter 3. Requirements 3.1. Relevant Libraries The libraries listed in Table 3-1 shall be available on a Linux Standard Base - Desktop system, with the specified runtime names. This list may be supplemented or amended by the architecture-specific specification. Table 3-1. Standard Library Names Library Runtime Name libX11 libX11.so.6 libXt libXt.so.6 libGL libGL.so.1 libXext libXext.so.6 libICE libICE.so.6 libSM libSM.so.6 libXi libXi.so.6 libglib-2.0 libglib-2.0.so.0 libgobject-2.0 libgobject-2.0.so.0 libgmodule-2.0 libgmodule-2.0.so.0 libgthread-2.0 libgthread-2.0.so.0 libatk-1.0 libatk-1.0.so.0 libpango-1.0 libpango-1.0.so.0 libpangoxft-1.0 libpangoxft-1.0.so.0 libpangoft2-1.0 libpangoft2-1.0.so.0 libgdk_pixbuf-2.0 libgdk_pixbuf-2.0.so.0 libgdk_pixbuf_xlib-2.0 libgdk_pixbuf_xlib-2.0.so.0 libgdk-x11-2.0 libgdk-x11-2.0.so.0 libgtk-x11-2.0 libgtk-x11-2.0.so.0 libQtCore libQtCore.so.4 libQtGui libQtGui.so.4 libQtNetwork libQtNetwork.so.4 libQtXml libQtXml.so.4 libQtOpenGL libQtOpenGL.so.4 libQtSql libQtSql.so.4 libQtSvg libQtSvg.so.4 libfontconfig libfontconfig.so.1 libpng12 libpng12.so.0 libjpeg libjpeg.so.62 libXrender libXrender.so.1 libfreetype libfreetype.so.6 libXft libXft.so.2 libxml2 libxml2.so.2 libqt-mt libqt-mt.so.3 These libraries will be in an implementation-defined directory which the dynamic linker shall search by default. __________________________________________________________ Chapter 4. Definitions For the purposes of this document, the following definitions, as specified in the ISO/IEC Directives, Part 2, 2001, 4th Edition, apply: can be able to; there is a possibility of; it is possible to cannot be unable to; there is no possibilty of; it is not possible to may is permitted; is allowed; is permissible need not it is not required that; no...is required shall is to; is required to; it is required that; has to; only...is permitted; it is necessary shall not is not allowed [permitted] [acceptable] [permissible]; is required to be not; is required that...be not; is not to be should it is recommended that; ought to should not it is not recommended that; ought not to __________________________________________________________ Chapter 5. Terminology For the purposes of this document, the following terms apply: implementation-defined Describes a value or behavior that is not defined by this document but is selected by an implementor. The value or behavior may vary among implementations that conform to this document. An application should not rely on the existence of the value or behavior. An application that relies on such a value or behavior cannot be assured to be portable across conforming implementations. The implementor shall document such a value or behavior so that it can be used correctly by an application. Shell Script A file that is read by an interpreter (e.g., awk). The first line of the shell script includes a reference to its interpreter binary. undefined Describes the nature of a value or behavior not defined by this document which results from use of an invalid program construct or invalid data input. The value or behavior may vary among implementations that conform to this document. An application should not rely on the existence or validity of the value or behavior. An application that relies on any particular value or behavior cannot be assured to be portable across conforming implementations. unspecified Describes the nature of a value or behavior not specified by this document which results from use of a valid program construct or valid data input. The value or behavior may vary among implementations that conform to this document. An application should not rely on the existence or validity of the value or behavior. An application that relies on any particular value or behavior cannot be assured to be portable across conforming implementations. II. Graphic Libraries Table of Contents 6. Libraries 6.1. Interfaces for libX11 6.1.1. X Windows System Interface 6.2. Data Definitions for libX11 6.2.1. X11/X.h 6.2.2. X11/XKBlib.h 6.2.3. X11/Xauth.h 6.2.4. X11/Xcms.h 6.2.5. X11/Xlib.h 6.2.6. X11/Xresource.h 6.2.7. X11/Xutil.h 6.3. Interface Definitions for libX11 6.4. Interfaces for libSM 6.4.1. Session Management Functions 6.5. Data Definitions for libSM 6.5.1. X11/SM/SMlib.h 6.6. Interfaces for libICE 6.6.1. ICE Functions 6.7. Data Definitions for libICE 6.7.1. X11/ICE/ICElib.h 6.7.2. X11/ICE/ICEutil.h 6.8. Interfaces for libXt 6.8.1. X Toolkit 6.9. Data Definitions for libXt 6.9.1. X11/Composite.h 6.9.2. X11/CompositeP.h 6.9.3. X11/ConstrainP.h 6.9.4. X11/Constraint.h 6.9.5. X11/Core.h 6.9.6. X11/Intrinsic.h 6.9.7. X11/IntrinsicP.h 6.9.8. X11/Object.h 6.9.9. X11/ObjectP.h 6.9.10. X11/Shell.h 6.9.11. X11/StringDefs.h 6.10. Interface Definitions for libXt _XtCopyFromArg -- Copy "size" bytes from src to dst. _XtInherit -- inheritance operation. _XtInheritTranslations -- an inheritance constant _XtIsSubclassOf -- determine if Widget is a subclass of WidgetClass. 6.11. Interfaces for libXext 6.11.1. X Shape Extension 6.11.2. X Display Power Management Signaling Extension 6.11.3. X Shared Memory Extensions 6.11.4. MIT-MISC Extension 6.11.5. X Synchronization Extension 6.11.6. X Security Extension 6.11.7. X Double Buffer Extension 6.11.8. X Extended Visual Interface Extension 6.12. Data Definitions for libXext 6.12.1. X11/extensions/XEVI.h 6.12.2. X11/extensions/XKBgeom.h 6.12.3. X11/extensions/XShm.h 6.12.4. X11/extensions/Xdbe.h 6.12.5. X11/extensions/dpms.h 6.12.6. X11/extensions/security.h 6.12.7. X11/extensions/shape.h 6.12.8. X11/extensions/sync.h 6.13. Interfaces for libXi 6.13.1. XInput __________________________________________________________ Chapter 6. Libraries The X Libraries should be built thread-safe. __________________________________________________________ 6.1. Interfaces for libX11 Table 6-1 defines the library name and shared object name for the libX11 library Table 6-1. libX11 Definition Library: libX11 SONAME: libX11.so.6 The behavior of the interfaces in this library is specified by the following specifications: [LSB] This Specification [Xlib] X11 C Library __________________________________________________________ 6.1.1. X Windows System Interface __________________________________________________________ 6.1.1.1. Interfaces for X Windows System Interface An LSB conforming implementation shall provide the generic functions for X Windows System Interface specified in Table 6-2, with the full mandatory functionality as described in the referenced underlying specification. Table 6-2. libX11 - X Windows System Interface Function Interfaces XActivateScreenSaver [Xlib] XAddConnectionWatch [Xlib] XAddExtension [Xlib] XAddHost [Xlib] XAddHosts [Xlib] XAddPixel [Xlib] XAddToExtensionList [Xlib] XAddToSaveSet [Xlib] XAllPlanes [Xlib] XAllocClassHint [Xlib] XAllocColor [Xlib] XAllocColorCells [Xlib] XAllocColorPlanes [Xlib] XAllocIconSize [Xlib] XAllocNamedColor [Xlib] XAllocSizeHints [Xlib] XAllocStandardColormap [Xlib] XAllocWMHints [Xlib] XAllowEvents [Xlib] XAutoRepeatOff [Xlib] XAutoRepeatOn [Xlib] XBaseFontNameListOfFontSet [Xlib] XBell [Xlib] XBitmapBitOrder [Xlib] XBitmapPad [Xlib] XBitmapUnit [Xlib] XBlackPixel [Xlib] XBlackPixelOfScreen [Xlib] XCellsOfScreen [Xlib] XChangeActivePointerGrab [Xlib] XChangeGC [Xlib] XChangeKeyboardControl [Xlib] XChangeKeyboardMapping [Xlib] XChangePointerControl [Xlib] XChangeProperty [Xlib] XChangeSaveSet [Xlib] XChangeWindowAttributes [Xlib] XCheckIfEvent [Xlib] XCheckMaskEvent [Xlib] XCheckTypedEvent [Xlib] XCheckTypedWindowEvent [Xlib] XCheckWindowEvent [Xlib] XCirculateSubwindows [Xlib] XCirculateSubwindowsDown [Xlib] XCirculateSubwindowsUp [Xlib] XClearArea [Xlib] XClearWindow [Xlib] XClipBox [Xlib] XCloseDisplay [Xlib] XCloseIM [Xlib] XCloseOM [Xlib] XConfigureWindow [Xlib] XConnectionNumber [Xlib] XContextDependentDrawing [Xlib] XContextualDrawing [Xlib] XConvertCase [Xlib] XConvertSelection [Xlib] XCopyArea [Xlib] XCopyColormapAndFree [Xlib] XCopyGC [Xlib] XCopyPlane [Xlib] XCreateBitmapFromData [Xlib] XCreateColormap [Xlib] XCreateFontCursor [Xlib] XCreateFontSet [Xlib] XCreateGC [Xlib] XCreateGlyphCursor [Xlib] XCreateIC [Xlib] XCreateImage [Xlib] XCreateOC [Xlib] XCreatePixmap [Xlib] XCreatePixmapCursor [Xlib] XCreatePixmapFromBitmapData [Xlib] XCreateRegion [Xlib] XCreateSimpleWindow [Xlib] XCreateWindow [Xlib] XDefaultColormap [Xlib] XDefaultColormapOfScreen [Xlib] XDefaultDepth [Xlib] XDefaultDepthOfScreen [Xlib] XDefaultGC [Xlib] XDefaultGCOfScreen [Xlib] XDefaultRootWindow [Xlib] XDefaultScreen [Xlib] XDefaultScreenOfDisplay [Xlib] XDefaultString [Xlib] XDefaultVisual [Xlib] XDefaultVisualOfScreen [Xlib] XDefineCursor [Xlib] XDeleteContext [Xlib] XDeleteModifiermapEntry [Xlib] XDeleteProperty [Xlib] XDestroyIC [Xlib] XDestroyImage [Xlib] XDestroyOC [Xlib] XDestroyRegion [Xlib] XDestroySubwindows [Xlib] XDestroyWindow [Xlib] XDirectionalDependentDrawing [Xlib] XDisableAccessControl [Xlib] XDisplayCells [Xlib] XDisplayHeight [Xlib] XDisplayHeightMM [Xlib] XDisplayKeycodes [Xlib] XDisplayMotionBufferSize [Xlib] XDisplayName [Xlib] XDisplayOfIM [Xlib] XDisplayOfOM [Xlib] XDisplayOfScreen [Xlib] XDisplayPlanes [Xlib] XDisplayString [Xlib] XDisplayWidth [Xlib] XDisplayWidthMM [Xlib] XDoesBackingStore [Xlib] XDoesSaveUnders [Xlib] XDrawArc [Xlib] XDrawArcs [Xlib] XDrawImageString [Xlib] XDrawImageString16 [Xlib] XDrawLine [Xlib] XDrawLines [Xlib] XDrawPoint [Xlib] XDrawPoints [Xlib] XDrawRectangle [Xlib] XDrawRectangles [Xlib] XDrawSegments [Xlib] XDrawString [Xlib] XDrawString16 [Xlib] XDrawText [Xlib] XDrawText16 [Xlib] XEHeadOfExtensionList [Xlib] XESetBeforeFlush [Xlib] XESetCloseDisplay [Xlib] XESetCopyGC [Xlib] XESetCreateFont [Xlib] XESetCreateGC [Xlib] XESetError [Xlib] XESetErrorString [Xlib] XESetEventToWire [Xlib] XESetFlushGC [Xlib] XESetFreeFont [Xlib] XESetFreeGC [Xlib] XESetPrintErrorValues [Xlib] XESetWireToError [Xlib] XESetWireToEvent [Xlib] XEmptyRegion [Xlib] XEnableAccessControl [Xlib] XEqualRegion [Xlib] XEventMaskOfScreen [Xlib] XEventsQueued [Xlib] XExtendedMaxRequestSize [Xlib] XExtentsOfFontSet [Xlib] XFetchBuffer [Xlib] XFetchBytes [Xlib] XFetchName [Xlib] XFillArc [Xlib] XFillArcs [Xlib] XFillPolygon [Xlib] XFillRectangle [Xlib] XFillRectangles [Xlib] XFilterEvent [Xlib] XFindContext [Xlib] XFindOnExtensionList [Xlib] XFlush [Xlib] XFlushGC [Xlib] XFontsOfFontSet [Xlib] XForceScreenSaver [Xlib] XFree [Xlib] XFreeColormap [Xlib] XFreeColors [Xlib] XFreeCursor [Xlib] XFreeExtensionList [Xlib] XFreeFont [Xlib] XFreeFontInfo [Xlib] XFreeFontNames [Xlib] XFreeFontPath [Xlib] XFreeFontSet [Xlib] XFreeGC [Xlib] XFreeModifiermap [Xlib] XFreePixmap [Xlib] XFreeStringList [Xlib] XGContextFromGC [Xlib] XGeometry [Xlib] XGetAtomName [Xlib] XGetAtomNames [Xlib] XGetClassHint [Xlib] XGetCommand [Xlib] XGetDefault [Xlib] XGetErrorDatabaseText [Xlib] XGetErrorText [Xlib] XGetFontPath [Xlib] XGetFontProperty [Xlib] XGetGCValues [Xlib] XGetGeometry [Xlib] XGetICValues [Xlib] XGetIMValues [Xlib] XGetIconName [Xlib] XGetIconSizes [Xlib] XGetImage [Xlib] XGetInputFocus [Xlib] XGetKeyboardControl [Xlib] XGetKeyboardMapping [Xlib] XGetModifierMapping [Xlib] XGetMotionEvents [Xlib] XGetNormalHints [Xlib] XGetOCValues [Xlib] XGetOMValues [Xlib] XGetPixel [Xlib] XGetPointerControl [Xlib] XGetPointerMapping [Xlib] XGetRGBColormaps [Xlib] XGetScreenSaver [Xlib] XGetSelectionOwner [Xlib] XGetSizeHints [Xlib] XGetStandardColormap [Xlib] XGetSubImage [Xlib] XGetTextProperty [Xlib] XGetTransientForHint [Xlib] XGetVisualInfo [Xlib] XGetWMClientMachine [Xlib] XGetWMColormapWindows [Xlib] XGetWMHints [Xlib] XGetWMIconName [Xlib] XGetWMName [Xlib] XGetWMNormalHints [Xlib] XGetWMProtocols [Xlib] XGetWMSizeHints [Xlib] XGetWindowAttributes [Xlib] XGetWindowProperty [Xlib] XGetZoomHints [Xlib] XGrabButton [Xlib] XGrabKey [Xlib] XGrabKeyboard [Xlib] XGrabPointer [Xlib] XGrabServer [Xlib] XHeightMMOfScreen [Xlib] XHeightOfScreen [Xlib] XIMOfIC [Xlib] XIconifyWindow [Xlib] XIfEvent [Xlib] XImageByteOrder [Xlib] XInitExtension [Xlib] XInitImage [Xlib] XInitThreads [Xlib] XInsertModifiermapEntry [Xlib] XInstallColormap [Xlib] XInternAtom [Xlib] XInternAtoms [Xlib] XInternalConnectionNumbers [Xlib] XIntersectRegion [Xlib] XKeycodeToKeysym [Xlib] XKeysymToKeycode [Xlib] XKeysymToString [Xlib] XKillClient [Xlib] XLastKnownRequestProcessed [Xlib] XListDepths [Xlib] XListExtensions [Xlib] XListFonts [Xlib] XListFontsWithInfo [Xlib] XListHosts [Xlib] XListInstalledColormaps [Xlib] XListPixmapFormats [Xlib] XListProperties [Xlib] XLoadFont [Xlib] XLoadQueryFont [Xlib] XLocaleOfFontSet [Xlib] XLocaleOfIM [Xlib] XLocaleOfOM [Xlib] XLockDisplay [Xlib] XLookupColor [Xlib] XLookupKeysym [Xlib] XLookupString [Xlib] XLowerWindow [Xlib] XMapRaised [Xlib] XMapSubwindows [Xlib] XMapWindow [Xlib] XMaskEvent [Xlib] XMatchVisualInfo [Xlib] XMaxCmapsOfScreen [Xlib] XMaxRequestSize [Xlib] XMinCmapsOfScreen [Xlib] XMoveResizeWindow [Xlib] XMoveWindow [Xlib] XNewModifiermap [Xlib] XNextEvent [Xlib] XNextRequest [Xlib] XNoOp [Xlib] XOMOfOC [Xlib] XOffsetRegion [Xlib] XOpenDisplay [Xlib] XOpenIM [Xlib] XOpenOM [Xlib] XParseColor [Xlib] XParseGeometry [Xlib] XPeekEvent [Xlib] XPeekIfEvent [Xlib] XPending [Xlib] XPlanesOfScreen [Xlib] XPointInRegion [Xlib] XPolygonRegion [Xlib] XProcessInternalConnection [Xlib] XProtocolRevision [Xlib] XProtocolVersion [Xlib] XPutBackEvent [Xlib] XPutImage [Xlib] XPutPixel [Xlib] XQLength [Xlib] XQueryBestCursor [Xlib] XQueryBestSize [Xlib] XQueryBestStipple [Xlib] XQueryBestTile [Xlib] XQueryColor [Xlib] XQueryColors [Xlib] XQueryExtension [Xlib] XQueryFont [Xlib] XQueryKeymap [Xlib] XQueryPointer [Xlib] XQueryTextExtents [Xlib] XQueryTextExtents16 [Xlib] XQueryTree [Xlib] XRaiseWindow [Xlib] XReadBitmapFile [Xlib] XReadBitmapFileData [Xlib] XRebindKeysym [Xlib] XRecolorCursor [Xlib] XReconfigureWMWindow [Xlib] XRectInRegion [Xlib] XRefreshKeyboardMapping [Xlib] XRegisterIMInstantiateCallback [Xlib] XRemoveConnectionWatch [Xlib] XRemoveFromSaveSet [Xlib] XRemoveHost [Xlib] XRemoveHosts [Xlib] XReparentWindow [Xlib] XResetScreenSaver [Xlib] XResizeWindow [Xlib] XResourceManagerString [Xlib] XRestackWindows [Xlib] XRootWindow [Xlib] XRootWindowOfScreen [Xlib] XRotateBuffers [Xlib] XRotateWindowProperties [Xlib] XSaveContext [Xlib] XScreenCount [Xlib] XScreenNumberOfScreen [Xlib] XScreenOfDisplay [Xlib] XScreenResourceString [Xlib] XSelectInput [Xlib] XSendEvent [Xlib] XServerVendor [Xlib] XSetAccessControl [Xlib] XSetAfterFunction [Xlib] XSetArcMode [Xlib] XSetAuthorization [Xlib] XSetBackground [Xlib] XSetClassHint [Xlib] XSetClipMask [Xlib] XSetClipOrigin [Xlib] XSetClipRectangles [Xlib] XSetCloseDownMode [Xlib] XSetCommand [Xlib] XSetDashes [Xlib] XSetErrorHandler [Xlib] XSetFillRule [Xlib] XSetFillStyle [Xlib] XSetFont [Xlib] XSetFontPath [Xlib] XSetForeground [Xlib] XSetFunction [Xlib] XSetGraphicsExposures [Xlib] XSetICFocus [Xlib] XSetICValues [Xlib] XSetIMValues [Xlib] XSetIOErrorHandler [Xlib] XSetIconName [Xlib] XSetIconSizes [Xlib] XSetInputFocus [Xlib] XSetLineAttributes [Xlib] XSetLocaleModifiers [Xlib] XSetModifierMapping [Xlib] XSetNormalHints [Xlib] XSetOCValues [Xlib] XSetOMValues [Xlib] XSetPlaneMask [Xlib] XSetPointerMapping [Xlib] XSetRGBColormaps [Xlib] XSetRegion [Xlib] XSetScreenSaver [Xlib] XSetSelectionOwner [Xlib] XSetSizeHints [Xlib] XSetStandardColormap [Xlib] XSetStandardProperties [Xlib] XSetState [Xlib] XSetStipple [Xlib] XSetSubwindowMode [Xlib] XSetTSOrigin [Xlib] XSetTextProperty [Xlib] XSetTile [Xlib] XSetTransientForHint [Xlib] XSetWMClientMachine [Xlib] XSetWMColormapWindows [Xlib] XSetWMHints [Xlib] XSetWMIconName [Xlib] XSetWMName [Xlib] XSetWMNormalHints [Xlib] XSetWMProperties [Xlib] XSetWMProtocols [Xlib] XSetWMSizeHints [Xlib] XSetWindowBackground [Xlib] XSetWindowBackgroundPixmap [Xlib] XSetWindowBorder [Xlib] XSetWindowBorderPixmap [Xlib] XSetWindowBorderWidth [Xlib] XSetWindowColormap [Xlib] XSetZoomHints [Xlib] XShrinkRegion [Xlib] XStoreBuffer [Xlib] XStoreBytes [Xlib] XStoreColor [Xlib] XStoreColors [Xlib] XStoreName [Xlib] XStoreNamedColor [Xlib] XStringListToTextProperty [Xlib] XStringToKeysym [Xlib] XSubImage [Xlib] XSubtractRegion [Xlib] XSupportsLocale [Xlib] XSync [Xlib] XSynchronize [Xlib] XTextExtents [Xlib] XTextExtents16 [Xlib] XTextPropertyToStringList [Xlib] XTextWidth [Xlib] XTextWidth16 [Xlib] XTranslateCoordinates [Xlib] XUndefineCursor [Xlib] XUngrabButton [Xlib] XUngrabKey [Xlib] XUngrabKeyboard [Xlib] XUngrabPointer [Xlib] XUngrabServer [Xlib] XUninstallColormap [Xlib] XUnionRectWithRegion [Xlib] XUnionRegion [Xlib] XUnloadFont [Xlib] XUnlockDisplay [Xlib] XUnmapSubwindows [Xlib] XUnmapWindow [Xlib] XUnregisterIMInstantiateCallback [Xlib] XUnsetICFocus [Xlib] XVaCreateNestedList [Xlib] XVendorRelease [Xlib] XVisualIDFromVisual [Xlib] XWMGeometry [Xlib] XWarpPointer [Xlib] XWhitePixel [Xlib] XWhitePixelOfScreen [Xlib] XWidthMMOfScreen [Xlib] XWidthOfScreen [Xlib] XWindowEvent [Xlib] XWithdrawWindow [Xlib] XWriteBitmapFile [Xlib] XXorRegion [Xlib] XauDisposeAuth [Xlib] XauFileName [Xlib] XauGetBestAuthByAddr [Xlib] XauReadAuth [Xlib] XcmsAddColorSpace [Xlib] XcmsAddFunctionSet [Xlib] XcmsAllocColor [Xlib] XcmsAllocNamedColor [Xlib] XcmsCCCOfColormap [Xlib] XcmsCIELabClipL [Xlib] XcmsCIELabClipLab [Xlib] XcmsCIELabClipab [Xlib] XcmsCIELabQueryMaxC [Xlib] XcmsCIELabQueryMaxL [Xlib] XcmsCIELabQueryMaxLC [Xlib] XcmsCIELabQueryMinL [Xlib] XcmsCIELabToCIEXYZ [Xlib] XcmsCIELabWhiteShiftColors [Xlib] XcmsCIELuvClipL [Xlib] XcmsCIELuvClipLuv [Xlib] XcmsCIELuvClipuv [Xlib] XcmsCIELuvQueryMaxC [Xlib] XcmsCIELuvQueryMaxL [Xlib] XcmsCIELuvQueryMaxLC [Xlib] XcmsCIELuvQueryMinL [Xlib] XcmsCIELuvToCIEuvY [Xlib] XcmsCIELuvWhiteShiftColors [Xlib] XcmsCIEXYZToCIELab [Xlib] XcmsCIEXYZToCIEuvY [Xlib] XcmsCIEXYZToCIExyY [Xlib] XcmsCIEXYZToRGBi [Xlib] XcmsCIEuvYToCIELuv [Xlib] XcmsCIEuvYToCIEXYZ [Xlib] XcmsCIEuvYToTekHVC [Xlib] XcmsCIExyYToCIEXYZ [Xlib] XcmsClientWhitePointOfCCC [Xlib] XcmsConvertColors [Xlib] XcmsCreateCCC [Xlib] XcmsDefaultCCC [Xlib] XcmsDisplayOfCCC [Xlib] XcmsFormatOfPrefix [Xlib] XcmsFreeCCC [Xlib] XcmsLookupColor [Xlib] XcmsPrefixOfFormat [Xlib] XcmsQueryBlack [Xlib] XcmsQueryBlue [Xlib] XcmsQueryColor [Xlib] XcmsQueryColors [Xlib] XcmsQueryGreen [Xlib] XcmsQueryRed [Xlib] XcmsQueryWhite [Xlib] XcmsRGBToRGBi [Xlib] XcmsRGBiToCIEXYZ [Xlib] XcmsRGBiToRGB [Xlib] XcmsScreenNumberOfCCC [Xlib] XcmsScreenWhitePointOfCCC [Xlib] XcmsSetCCCOfColormap [Xlib] XcmsSetCompressionProc [Xlib] XcmsSetWhiteAdjustProc [Xlib] XcmsSetWhitePoint [Xlib] XcmsStoreColor [Xlib] XcmsStoreColors [Xlib] XcmsTekHVCClipC [Xlib] XcmsTekHVCClipV [Xlib] XcmsTekHVCClipVC [Xlib] XcmsTekHVCQueryMaxC [Xlib] XcmsTekHVCQueryMaxV [Xlib] XcmsTekHVCQueryMaxVC [Xlib] XcmsTekHVCQueryMaxVSamples [Xlib] XcmsTekHVCQueryMinV [Xlib] XcmsTekHVCToCIEuvY [Xlib] XcmsTekHVCWhiteShiftColors [Xlib] XcmsVisualOfCCC [Xlib] XkbAllocClientMap [Xlib] XkbAllocCompatMap [Xlib] XkbAllocControls [Xlib] XkbAllocGeomColors [Xlib] XkbAllocGeomDoodads [Xlib] XkbAllocGeomKeyAliases [Xlib] XkbAllocGeomKeys [Xlib] XkbAllocGeomOutlines [Xlib] XkbAllocGeomOverlayKeys [Xlib] XkbAllocGeomOverlayRows [Xlib] XkbAllocGeomOverlays [Xlib] XkbAllocGeomPoints [Xlib] XkbAllocGeomProps [Xlib] XkbAllocGeomRows [Xlib] XkbAllocGeomSectionDoodads [Xlib] XkbAllocGeomSections [Xlib] XkbAllocGeomShapes [Xlib] XkbAllocGeometry [Xlib] XkbAllocIndicatorMaps [Xlib] XkbAllocKeyboard [Xlib] XkbAllocNames [Xlib] XkbAllocServerMap [Xlib] XkbApplyCompatMapToKey [Xlib] XkbBell [Xlib] XkbBellEvent [Xlib] XkbChangeEnabledControls [Xlib] XkbChangeMap [Xlib] XkbChangeNames [Xlib] XkbChangeTypesOfKey [Xlib] XkbComputeEffectiveMap [Xlib] XkbComputeRowBounds [Xlib] XkbComputeSectionBounds [Xlib] XkbComputeShapeBounds [Xlib] XkbComputeShapeTop [Xlib] XkbCopyKeyType [Xlib] XkbCopyKeyTypes [Xlib] XkbFindOverlayForKey [Xlib] XkbForceBell [Xlib] XkbFreeClientMap [Xlib] XkbFreeCompatMap [Xlib] XkbFreeComponentList [Xlib] XkbFreeControls [Xlib] XkbFreeGeomColors [Xlib] XkbFreeGeomDoodads [Xlib] XkbFreeGeomKeyAliases [Xlib] XkbFreeGeomKeys [Xlib] XkbFreeGeomOutlines [Xlib] XkbFreeGeomOverlayKeys [Xlib] XkbFreeGeomOverlayRows [Xlib] XkbFreeGeomOverlays [Xlib] XkbFreeGeomPoints [Xlib] XkbFreeGeomProperties [Xlib] XkbFreeGeomRows [Xlib] XkbFreeGeomSections [Xlib] XkbFreeGeomShapes [Xlib] XkbFreeGeometry [Xlib] XkbFreeIndicatorMaps [Xlib] XkbFreeKeyboard [Xlib] XkbFreeNames [Xlib] XkbFreeServerMap [Xlib] XkbGetAutoRepeatRate [Xlib] XkbGetCompatMap [Xlib] XkbGetControls [Xlib] XkbGetGeometry [Xlib] XkbGetIndicatorMap [Xlib] XkbGetIndicatorState [Xlib] XkbGetKeyActions [Xlib] XkbGetKeyBehaviors [Xlib] XkbGetKeyExplicitComponents [Xlib] XkbGetKeyModifierMap [Xlib] XkbGetKeySyms [Xlib] XkbGetKeyTypes [Xlib] XkbGetKeyboard [Xlib] XkbGetKeyboardByName [Xlib] XkbGetMap [Xlib] XkbGetMapChanges [Xlib] XkbGetNamedGeometry [Xlib] XkbGetNamedIndicator [Xlib] XkbGetNames [Xlib] XkbGetState [Xlib] XkbGetUpdatedMap [Xlib] XkbGetVirtualMods [Xlib] XkbGetXlibControls [Xlib] XkbIgnoreExtension [Xlib] XkbInitCanonicalKeyTypes [Xlib] XkbKeyTypesForCoreSymbols [Xlib] XkbKeycodeToKeysym [Xlib] XkbKeysymToModifiers [Xlib] XkbLatchGroup [Xlib] XkbLatchModifiers [Xlib] XkbLibraryVersion [Xlib] XkbListComponents [Xlib] XkbLockGroup [Xlib] XkbLockModifiers [Xlib] XkbLookupKeyBinding [Xlib] XkbLookupKeySym [Xlib] XkbNoteControlsChanges [Xlib] XkbNoteMapChanges [Xlib] XkbNoteNameChanges [Xlib] XkbOpenDisplay [Xlib] XkbQueryExtension [Xlib] XkbRefreshKeyboardMapping [Xlib] XkbResizeKeyActions [Xlib] XkbResizeKeySyms [Xlib] XkbResizeKeyType [Xlib] XkbSelectEventDetails [Xlib] XkbSelectEvents [Xlib] XkbSetAtomFuncs [Xlib] XkbSetAutoRepeatRate [Xlib] XkbSetAutoResetControls [Xlib] XkbSetCompatMap [Xlib] XkbSetControls [Xlib] XkbSetDebuggingFlags [Xlib] XkbSetDetectableAutoRepeat [Xlib] XkbSetGeometry [Xlib] XkbSetIgnoreLockMods [Xlib] XkbSetIndicatorMap [Xlib] XkbSetMap [Xlib] XkbSetNamedIndicator [Xlib] XkbSetNames [Xlib] XkbSetServerInternalMods [Xlib] XkbSetXlibControls [Xlib] XkbToControl [Xlib] XkbTranslateKeyCode [Xlib] XkbTranslateKeySym [Xlib] XkbUpdateMapFromCore [Xlib] XkbUseExtension [Xlib] XkbVirtualModsToReal [Xlib] XmbDrawImageString [Xlib] XmbDrawString [Xlib] XmbDrawText [Xlib] XmbLookupString [Xlib] XmbResetIC [Xlib] XmbSetWMProperties [Xlib] XmbTextEscapement [Xlib] XmbTextExtents [Xlib] XmbTextListToTextProperty [Xlib] XmbTextPerCharExtents [Xlib] XmbTextPropertyToTextList [Xlib] XrmCombineDatabase [Xlib] XrmCombineFileDatabase [Xlib] XrmDestroyDatabase [Xlib] XrmEnumerateDatabase [Xlib] XrmGetDatabase [Xlib] XrmGetFileDatabase [Xlib] XrmGetResource [Xlib] XrmGetStringDatabase [Xlib] XrmInitialize [Xlib] XrmLocaleOfDatabase [Xlib] XrmMergeDatabases [Xlib] XrmParseCommand [Xlib] XrmPermStringToQuark [Xlib] XrmPutFileDatabase [Xlib] XrmPutLineResource [Xlib] XrmPutResource [Xlib] XrmPutStringResource [Xlib] XrmQGetResource [Xlib] XrmQGetSearchList [Xlib] XrmQGetSearchResource [Xlib] XrmQPutResource [Xlib] XrmQPutStringResource [Xlib] XrmQuarkToString [Xlib] XrmSetDatabase [Xlib] XrmStringToBindingQuarkList [Xlib] XrmStringToQuark [Xlib] XrmStringToQuarkList [Xlib] XrmUniqueQuark [Xlib] Xutf8TextListToTextProperty [LSB] Xutf8TextPropertyToTextList [LSB] XwcDrawImageString [Xlib] XwcDrawString [Xlib] XwcDrawText [Xlib] XwcFreeStringList [Xlib] XwcLookupString [Xlib] XwcResetIC [Xlib] XwcTextEscapement [Xlib] XwcTextExtents [Xlib] XwcTextListToTextProperty [Xlib] XwcTextPerCharExtents [Xlib] XwcTextPropertyToTextList [Xlib] __________________________________________________________ 6.2. Data Definitions for libX11 This section defines global identifiers and their values that are associated with interfaces contained in libX11. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 6.2.1. X11/X.h typedef unsigned long int XID; typedef unsigned long int Atom; typedef unsigned long int VisualID; typedef unsigned long int Time; typedef XID Window; typedef XID Font; typedef XID Pixmap; typedef unsigned char KeyCode; typedef XID Drawable; typedef XID Cursor; typedef XID Colormap; typedef XID GContext; typedef XID KeySym; #define AllTemporary 0L #define AnyButton 0L #define AnyKey 0L #define AnyPropertyType 0L #define CopyFromParent 0L #define CurrentTime 0L #define NoSymbol 0L #define None 0L #define PointerWindow 0L #define InputFocus 1L #define ParentRelative 1L #define PointerRoot 1L #define KeyPressMask (1L<<0) #define KeyReleaseMask (1L<<1) #define Button3MotionMask (1L<<10) #define Button4MotionMask (1L<<11) #define Button5MotionMask (1L<<12) #define ButtonMotionMask (1L<<13) #define KeymapStateMask (1L<<14) #define ExposureMask (1L<<15) #define VisibilityChangeMask (1L<<16) #define StructureNotifyMask (1L<<17) #define ResizeRedirectMask (1L<<18) #define SubstructureNotifyMask (1L<<19) #define ButtonPressMask (1L<<2) #define SubstructureRedirectMask (1L<<20) #define FocusChangeMask (1L<<21) #define PropertyChangeMask (1L<<22) #define ColormapChangeMask (1L<<23) #define OwnerGrabButtonMask (1L<<24) #define ButtonReleaseMask (1L<<3) #define EnterWindowMask (1L<<4) #define LeaveWindowMask (1L<<5) #define PointerMotionMask (1L<<6) #define PointerMotionHintMask (1L<<7) #define Button1MotionMask (1L<<8) #define Button2MotionMask (1L<<9) #define NoEventMask 0L #define FocusOut 10 #define KeymapNotify 11 #define Expose 12 #define GraphicsExpose 13 #define NoExpose 14 #define VisibilityNotify 15 #define CreateNotify 16 #define DestroyNotify 17 #define UnmapNotify 18 #define MapNotify 19 #define KeyPress 2 #define MapRequest 20 #define ReparentNotify 21 #define ConfigureNotify 22 #define ConfigureRequest 23 #define GravityNotify 24 #define ResizeRequest 25 #define CirculateNotify 26 #define CirculateRequest 27 #define PropertyNotify 28 #define SelectionClear 29 #define KeyRelease 3 #define SelectionRequest 30 #define SelectionNotify 31 #define ColormapNotify 32 #define ClientMessage 33 #define MappingNotify 34 #define LASTEvent 35 #define ButtonPress 4 #define ButtonRelease 5 #define MotionNotify 6 #define EnterNotify 7 #define LeaveNotify 8 #define FocusIn 9 #define ShiftMask (1<<0) #define LockMask (1<<1) #define ControlMask (1<<2) #define Mod1Mask (1<<3) #define Mod2Mask (1<<4) #define Mod3Mask (1<<5) #define Mod4Mask (1<<6) #define Mod5Mask (1<<7) #define ShiftMapIndex 0 #define LockMapIndex 1 #define ControlMapIndex 2 #define Mod1MapIndex 3 #define Mod2MapIndex 4 #define Mod3MapIndex 5 #define Mod4MapIndex 6 #define Mod5MapIndex 7 #define Button3Mask (1<<10) #define Button4Mask (1<<11) #define Button5Mask (1<<12) #define AnyModifier (1<<15) #define Button1Mask (1<<8) #define Button2Mask (1<<9) #define Button1 1 #define Button2 2 #define Button3 3 #define Button4 4 #define Button5 5 #define NotifyNormal 0 #define NotifyGrab 1 #define NotifyHint 1 #define NotifyUngrab 2 #define NotifyWhileGrabbed 3 #define NotifyAncestor 0 #define NotifyVirtual 1 #define NotifyInferior 2 #define NotifyNonlinear 3 #define NotifyNonlinearVirtual 4 #define NotifyPointer 5 #define NotifyPointerRoot 6 #define NotifyDetailNone 7 #define VisibilityUnobscured 0 #define VisibilityPartiallyObscured 1 #define VisibilityFullyObscured 2 #define PlaceOnTop 0 #define PlaceOnBottom 1 #define FamilyInternet 0 #define FamilyDECnet 1 #define FamilyChaos 2 #define PropModeReplace 0 #define PropertyNewValue 0 #define PropertyDelete 1 #define ColormapUninstalled 0 #define ColormapInstalled 1 #define GrabModeSync 0 #define GrabModeAsync 1 #define GrabSuccess 0 #define AlreadyGrabbed 1 #define GrabInvalidTime 2 #define GrabNotViewable 3 #define GrabFrozen 4 #define AsyncPointer 0 #define SyncPointer 1 #define ReplayPointer 2 #define AsyncKeyboard 3 #define SyncKeyboard 4 #define ReplayKeyboard 5 #define AsyncBoth 6 #define SyncBoth 7 #define RevertToNone (int)None #define RevertToPointerRoot (int)PointerRoot #define RevertToParent 2 #define Success 0 #define BadRequest 1 #define BadAccess 10 #define BadAlloc 11 #define BadColor 12 #define FirstExtensionError 128 #define BadGC 13 #define BadIDChoice 14 #define BadName 15 #define BadLength 16 #define BadImplementation 17 #define BadValue 2 #define LastExtensionError 255 #define BadWindow 3 #define BadPixmap 4 #define BadAtom 5 #define BadCursor 6 #define BadFont 7 #define BadMatch 8 #define BadDrawable 9 #define CWX (1<<0) #define InputOutput 1 #define InputOnly 2 #define CWBackPixmap (1L<<0) #define CWBackPixel (1L<<1) #define CWSaveUnder (1L<<10) #define CWEventMask (1L<<11) #define CWDontPropagate (1L<<12) #define CWColormap (1L<<13) #define CWCursor (1L<<14) #define CWBorderPixmap (1L<<2) #define CWBorderPixel (1L<<3) #define CWBitGravity (1L<<4) #define CWWinGravity (1L<<5) #define CWBackingStore (1L<<6) #define CWBackingPlanes (1L<<7) #define CWBackingPixel (1L<<8) #define CWOverrideRedirect (1L<<9) #define CWY (1<<1) #define CWWidth (1<<2) #define CWHeight (1<<3) #define CWBorderWidth (1<<4) #define CWSibling (1<<5) #define CWStackMode (1<<6) #define ForgetGravity 0 #define UnmapGravity 0 #define NorthWestGravity 1 #define StaticGravity 10 #define NorthGravity 2 #define NorthEastGravity 3 #define WestGravity 4 #define CenterGravity 5 #define EastGravity 6 #define SouthWestGravity 7 #define SouthGravity 8 #define SouthEastGravity 9 #define NotUseful 0 #define WhenMapped 1 #define Always 2 #define IsUnmapped 0 #define IsUnviewable 1 #define IsViewable 2 #define SetModeInsert 0 #define SetModeDelete 1 #define DestroyAll 0 #define RetainPermanent 1 #define RetainTemporary 2 #define Above 0 #define Below 1 #define TopIf 2 #define BottomIf 3 #define Opposite 4 #define RaiseLowest 0 #define LowerHighest 1 #define PropModePrepend 1 #define PropModeAppend 2 #define GXclear 0x0 #define GXand 0x1 #define GXandReverse 0x2 #define GXcopy 0x3 #define GXandInverted 0x4 #define GXnoop 0x5 #define GXxor 0x6 #define GXor 0x7 #define GXnor 0x8 #define GXequiv 0x9 #define GXinvert 0xa #define GXorReverse 0xb #define GXcopyInverted 0xc #define GXorInverted 0xd #define GXnand 0xe #define GXset 0xf #define LineSolid 0 #define LineOnOffDash 1 #define LineDoubleDash 2 #define CapNotLast 0 #define CapButt 1 #define CapRound 2 #define CapProjecting 3 #define JoinMiter 0 #define JoinRound 1 #define JoinBevel 2 #define FillSolid 0 #define FillTiled 1 #define FillStippled 2 #define FillOpaqueStippled 3 #define EvenOddRule 0 #define WindingRule 1 #define ClipByChildren 0 #define IncludeInferiors 1 #define Unsorted 0 #define XYBitmap 0 #define YSorted 1 #define YXSorted 2 #define YXBanded 3 #define CoordModeOrigin 0 #define CoordModePrevious 1 #define Complex 0 #define Nonconvex 1 #define Convex 2 #define ArcChord 0 #define ArcPieSlice 1 #define GCFunction (1L<<0) #define GCPlaneMask (1L<<1) #define GCTile (1L<<10) #define GCStipple (1L<<11) #define GCTileStipXOrigin (1L<<12) #define GCTileStipYOrigin (1L<<13) #define GCFont (1L<<14) #define GCSubwindowMode (1L<<15) #define GCGraphicsExposures (1L<<16) #define GCClipXOrigin (1L<<17) #define GCClipYOrigin (1L<<18) #define GCClipMask (1L<<19) #define GCForeground (1L<<2) #define GCDashOffset (1L<<20) #define GCDashList (1L<<21) #define GCArcMode (1L<<22) #define GCBackground (1L<<3) #define GCLineWidth (1L<<4) #define GCLineStyle (1L<<5) #define GCCapStyle (1L<<6) #define GCJoinStyle (1L<<7) #define GCFillStyle (1L<<8) #define GCFillRule (1L<<9) #define GCLastBit 22 #define FontChange 255 #define FontLeftToRight 0 #define FontRightToLeft 1 #define XYPixmap 1 #define ZPixmap 2 #define AllocNone 0 #define AllocAll 1 #define DoRed (1<<0) #define DoGreen (1<<1) #define DoBlue (1<<2) #define CursorShape 0 #define TileShape 1 #define StippleShape 2 #define AutoRepeatModeOff 0 #define LedModeOff 0 #define AutoRepeatModeOn 1 #define LedModeOn 1 #define AutoRepeatModeDefault 2 #define KBKeyClickPercent (1L<<0) #define KBBellPercent (1L<<1) #define KBBellPitch (1L<<2) #define KBBellDuration (1L<<3) #define KBLed (1L<<4) #define KBLedMode (1L<<5) #define KBKey (1L<<6) #define KBAutoRepeatMode (1L<<7) #define MappingModifier 0 #define MappingSuccess 0 #define MappingBusy 1 #define MappingKeyboard 1 #define MappingFailed 2 #define MappingPointer 2 #define DisableScreenInterval 0 #define DisableScreenSaver 0 #define DontAllowExposures 0 #define DontPreferBlanking 0 #define AllowExposures 1 #define PreferBlanking 1 #define DefaultBlanking 2 #define DefaultExposures 2 #define ScreenSaverReset 0 #define ScreenSaverActive 1 #define HostInsert 0 #define HostDelete 1 #define DisableAccess 0 #define EnableAccess 1 #define StaticGray 0 #define GrayScale 1 #define StaticColor 2 #define PseudoColor 3 #define TrueColor 4 #define DirectColor 5 #define LSBFirst 0 #define MSBFirst 1 __________________________________________________________ 6.2.2. X11/XKBlib.h extern int XkbAllocClientMap(XkbDescPtr, unsigned int, unsigned int); extern int XkbAllocCompatMap(XkbDescPtr, unsigned int, unsigned int); extern int XkbAllocControls(XkbDescPtr, unsigned int); extern int XkbAllocIndicatorMaps(XkbDescPtr); extern XkbDescPtrXkbAllocKeyboard(void); extern int XkbAllocNames(XkbDescPtr, unsigned int, int, int); extern int XkbAllocServerMap(XkbDescPtr, unsigned int, unsigned int); extern int XkbApplyCompatMapToKey(XkbDescPtr, KeyCode, XkbChangesPtr); extern int XkbBell(Display *, Window, int, Atom); extern int XkbBellEvent(Display *, Window, int, Atom); extern int XkbChangeEnabledControls(Display *, unsigned int, unsigned int, unsigned int); extern int XkbChangeMap(Display *, XkbDescPtr, XkbMapChangesPtr); extern int XkbChangeNames(Display *, XkbDescPtr, XkbNameChangesPtr); extern int XkbChangeTypesOfKey(XkbDescPtr, int, int, unsigned int, int *, XkbMapChangesPtr); extern int XkbComputeEffectiveMap(XkbDescPtr, XkbKeyTypePtr, unsigned char *); extern int XkbCopyKeyType(XkbKeyTypePtr, XkbKeyTypePtr); extern int XkbCopyKeyTypes(XkbKeyTypePtr, XkbKeyTypePtr, int); extern int XkbForceBell(Display *, int); extern void XkbFreeClientMap(XkbDescPtr, unsigned int, int); extern void XkbFreeCompatMap(XkbDescPtr, unsigned int, int); extern void XkbFreeComponentList(XkbComponentListPtr); extern void XkbFreeControls(XkbDescPtr, unsigned int, int); extern void XkbFreeIndicatorMaps(XkbDescPtr); extern void XkbFreeKeyboard(XkbDescPtr, unsigned int, int); extern void XkbFreeNames(XkbDescPtr, unsigned int, int); extern void XkbFreeServerMap(XkbDescPtr, unsigned int, int); extern int XkbGetAutoRepeatRate(Display *, unsigned int, unsigned int *, unsigned int *); extern int XkbGetCompatMap(Display *, unsigned int, XkbDescPtr); extern int XkbGetControls(Display *, unsigned long int, XkbDescPtr); extern int XkbGetIndicatorMap(Display *, unsigned long int, XkbDescPtr); extern int XkbGetIndicatorState(Display *, unsigned int, unsigned int *); extern int XkbGetKeyActions(Display *, unsigned int, unsigned int, XkbDescPtr); extern int XkbGetKeyBehaviors(Display *, unsigned int, unsigned int, XkbDescPtr); extern int XkbGetKeyExplicitComponents(Display *, unsigned int, unsigned int, XkbDescPtr); extern int XkbGetKeyModifierMap(Display *, unsigned int, unsigned int, XkbDescPtr); extern int XkbGetKeySyms(Display *, unsigned int, unsigned int, XkbDescPtr); extern int XkbGetKeyTypes(Display *, unsigned int, unsigned int, XkbDescPtr); extern XkbDescPtrXkbGetKeyboard(Display *, unsigned int, unsigned int); extern XkbDescPtrXkbGetKeyboardByName(Display *, unsigned int, XkbComponentNamesPtr, unsigned int, unsigned int, int); extern XkbDescPtrXkbGetMap(Display *, unsigned int, unsigned int); extern int XkbGetMapChanges(Display *, XkbDescPtr, XkbMapChangesPtr); extern int XkbGetNamedIndicator(Display *, Atom, int *, int *, XkbIndicatorMapPtr, int *); extern int XkbGetNames(Display *, unsigned int, XkbDescPtr); extern int XkbGetState(Display *, unsigned int, XkbStatePtr); extern int XkbGetUpdatedMap(Display *, unsigned int, XkbDescPtr); extern int XkbGetVirtualMods(Display *, unsigned int, XkbDescPtr); extern unsigned int XkbGetXlibControls(Display *); extern int XkbIgnoreExtension(int); extern int XkbInitCanonicalKeyTypes(XkbDescPtr, unsigned int, int); extern int XkbKeyTypesForCoreSymbols(XkbDescPtr, int, KeySym *, unsigned int, int *, KeySym *); extern KeySym XkbKeycodeToKeysym(Display *, unsigned int, int, int); extern unsigned int XkbKeysymToModifiers(Display *, KeySym); extern int XkbLatchGroup(Display *, unsigned int, unsigned int); extern int XkbLatchModifiers(Display *, unsigned int, unsigned int, unsigned int); extern int XkbLibraryVersion(int *, int *); extern XkbComponentListPtrXkbListComponents(Display *, unsigned int, XkbComponentNamesPtr, int *); extern int XkbLockGroup(Display *, unsigned int, unsigned int); extern int XkbLockModifiers(Display *, unsigned int, unsigned int, unsigned int); extern int XkbLookupKeyBinding(Display *, KeySym, unsigned int, char *, int, int *); extern int XkbLookupKeySym(Display *, KeyCode, unsigned int, unsigned int *, KeySym *); extern void XkbNoteControlsChanges(XkbControlsChangesPtr, XkbControlsNotifyEvent *, unsigned int); extern void XkbNoteMapChanges(XkbMapChangesPtr, XkbMapNotifyEvent *, unsigned int); extern void XkbNoteNameChanges(XkbNameChangesPtr, XkbNamesNotifyEvent *, unsigned int); extern Display *XkbOpenDisplay(char *, int *, int *, int *, int *, int *); extern int XkbQueryExtension(Display *, int *, int *, int *, int *, int*); extern int XkbRefreshKeyboardMapping(XkbMapNotifyEvent *); extern XkbAction *XkbResizeKeyActions(XkbDescPtr, int, int); extern KeySym *XkbResizeKeySyms(XkbDescPtr, int, int); extern int XkbResizeKeyType(XkbDescPtr, int, int, int, int); extern int XkbSelectEventDetails(Display *, unsigned int, unsigned int, unsigned long int, unsigned long int); extern int XkbSelectEvents(Display *, unsigned int, unsigned int, unsigned int); extern void XkbSetAtomFuncs(XkbInternAtomFunc, XkbGetAtomNameFunc); extern int XkbSetAutoRepeatRate(Display *, unsigned int, unsigned int, unsigned int); extern int XkbSetAutoResetControls(Display *, unsigned int, unsigned int *, unsigned int *); extern int XkbSetCompatMap(Display *, unsigned int, XkbDescPtr, int); extern int XkbSetControls(Display *, unsigned long int, XkbDescPtr); extern int XkbSetDebuggingFlags(Display *, unsigned int, unsigned int, char *, unsigned int, unsigned int, unsigned int *, unsigned int *); extern int XkbSetDetectableAutoRepeat(Display *, int, int *); extern int XkbSetIgnoreLockMods(Display *, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); extern int XkbSetIndicatorMap(Display *, unsigned long int, XkbDescPtr); extern int XkbSetMap(Display *, unsigned int, XkbDescPtr); extern int XkbSetNamedIndicator(Display *, Atom, int, int, int, XkbIndicatorMapPtr); extern int XkbSetNames(Display *, unsigned int, unsigned int, unsigned int, XkbDescPtr); extern int XkbSetServerInternalMods(Display *, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int); extern unsigned int XkbSetXlibControls(Display *, unsigned int, unsigned int); extern char XkbToControl(char); extern int XkbTranslateKeyCode(XkbDescPtr, KeyCode, unsigned int, unsigned int *, KeySym *); extern int XkbTranslateKeySym(Display *, KeySym *, unsigned int, char *, int, int *); extern int XkbUpdateMapFromCore(XkbDescPtr, KeyCode, int, int, KeySym *, XkbChangesPtr); extern int XkbUseExtension(Display *, int *, int *); extern int XkbVirtualModsToReal(XkbDescPtr, unsigned int, unsigned int *); __________________________________________________________ 6.2.3. X11/Xauth.h typedef struct xauth { unsigned short family; unsigned short address_length; char *address; unsigned short number_length; char *number; unsigned short name_length; char *name; unsigned short data_length; char *data; } Xauth; extern void XauDisposeAuth(Xauth *); extern char *XauFileName(void); extern Xauth *XauGetBestAuthByAddr(unsigned int, unsigned int, const char *, unsigned int, char *, int, char **, int *); extern Xauth *XauReadAuth(FILE *); __________________________________________________________ 6.2.4. X11/Xcms.h typedef struct _XcmsFunctionSet { XcmsColorSpace **DDColorSpaces; XcmsScreenInitProc screenInitProc; XcmsScreenFreeProc screenFreeProc; } XcmsFunctionSet; typedef unsigned long int XcmsColorFormat; typedef double XcmsFloat; typedef struct { unsigned short red; unsigned short green; unsigned short blue; } XcmsRGB; typedef struct { XcmsFloat red; XcmsFloat green; XcmsFloat blue; } XcmsRGBi; typedef struct { XcmsFloat X; XcmsFloat Y; XcmsFloat Z; } XcmsCIEXYZ; typedef struct { XcmsFloat u_prime; XcmsFloat v_prime; XcmsFloat Y; } XcmsCIEuvY; typedef struct { XcmsFloat x; XcmsFloat y; XcmsFloat Y; } XcmsCIExyY; typedef struct { XcmsFloat L_star; XcmsFloat a_star; XcmsFloat b_star; } XcmsCIELab; typedef struct { XcmsFloat L_star; XcmsFloat u_star; XcmsFloat v_star; } XcmsCIELuv; typedef struct { XcmsFloat H; XcmsFloat V; XcmsFloat C; } XcmsTekHVC; typedef struct { XcmsFloat pad0; XcmsFloat pad1; XcmsFloat pad2; XcmsFloat pad3; } XcmsPad; typedef union { XcmsRGB RGB; XcmsRGBi RGBi; XcmsCIEXYZ CIEXYZ; XcmsCIEuvY CIEuvY; XcmsCIExyY CIExyY; XcmsCIELab CIELab; XcmsCIELuv CIELuv; XcmsTekHVC TekHVC; XcmsPad Pad; } XcmsColor; typedef struct _XcmsPerScrnInfo { XcmsColor screenWhitePt; XPointer functionSet; XPointer screenData; unsigned char state; char pad[1]; } XcmsPerScrnInfo; typedef int (*XcmsCompressionProc) (void); typedef int (*XcmsWhiteAdjustProc) (void); typedef int (*XcmsScreenInitProc) (void); typedef void (*XcmsScreenFreeProc) (void); typedef int (*XcmsConversionProc) (void); typedef int (*XcmsParseStringProc) (void); typedef struct _XcmsCCC *XcmsCCC; typedef XcmsConversionProc *XcmsFuncListPtr; typedef struct _XcmsColorSpace { char *prefix; XcmsColorFormat id; XcmsParseStringProc parseString; XcmsFuncListPtr to_CIEXYZ; XcmsFuncListPtr from_CIEXYZ; int inverse_flag; } XcmsColorSpace; extern int XcmsAddColorSpace(XcmsColorSpace *); extern int XcmsAddFunctionSet(XcmsFunctionSet *); extern int XcmsAllocColor(Display *, Colormap, XcmsColor *, XcmsColorFormat); extern int XcmsAllocNamedColor(Display *, Colormap, const char *, XcmsColor *, XcmsColor *, XcmsColorFormat); extern XcmsCCC XcmsCCCOfColormap(Display *, Colormap); extern int XcmsCIELabClipL(XcmsCCC, XcmsColor *, unsigned int, unsigned int, int *); extern int XcmsCIELabClipLab(XcmsCCC, XcmsColor *, unsigned int, unsigned int, int *); extern int XcmsCIELabClipab(XcmsCCC, XcmsColor *, unsigned int, unsigned int, int *); extern int XcmsCIELabQueryMaxC(XcmsCCC, XcmsFloat, XcmsFloat, XcmsColor*); extern int XcmsCIELabQueryMaxL(XcmsCCC, XcmsFloat, XcmsFloat, XcmsColor*); extern int XcmsCIELabQueryMaxLC(XcmsCCC, XcmsFloat, XcmsColor *); extern int XcmsCIELabQueryMinL(XcmsCCC, XcmsFloat, XcmsFloat, XcmsColor*); extern int XcmsCIELabToCIEXYZ(XcmsCCC, XcmsColor *, XcmsColor *, unsigned int); extern int XcmsCIELabWhiteShiftColors(XcmsCCC, XcmsColor *, XcmsColor *, XcmsColorFormat, XcmsColor *, unsigned int, int *); extern int XcmsCIELuvClipL(XcmsCCC, XcmsColor *, unsigned int, unsigned int, int *); extern int XcmsCIELuvClipLuv(XcmsCCC, XcmsColor *, unsigned int, unsigned int, int *); extern int XcmsCIELuvClipuv(XcmsCCC, XcmsColor *, unsigned int, unsigned int, int *); extern int XcmsCIELuvQueryMaxC(XcmsCCC, XcmsFloat, XcmsFloat, XcmsColor*); extern int XcmsCIELuvQueryMaxL(XcmsCCC, XcmsFloat, XcmsFloat, XcmsColor*); extern int XcmsCIELuvQueryMaxLC(XcmsCCC, XcmsFloat, XcmsColor *); extern int XcmsCIELuvQueryMinL(XcmsCCC, XcmsFloat, XcmsFloat, XcmsColor*); extern int XcmsCIELuvToCIEuvY(XcmsCCC, XcmsColor *, XcmsColor *, unsigned int); extern int XcmsCIELuvWhiteShiftColors(XcmsCCC, XcmsColor *, XcmsColor *, XcmsColorFormat, XcmsColor *, unsigned int, int *); extern int XcmsCIEXYZToCIELab(XcmsCCC, XcmsColor *, XcmsColor *, unsigned int); extern int XcmsCIEXYZToCIEuvY(XcmsCCC, XcmsColor *, XcmsColor *, unsigned int); extern int XcmsCIEXYZToCIExyY(XcmsCCC, XcmsColor *, XcmsColor *, unsigned int); extern int XcmsCIEXYZToRGBi(XcmsCCC, XcmsColor *, unsigned int, int *); extern int XcmsCIEuvYToCIELuv(XcmsCCC, XcmsColor *, XcmsColor *, unsigned int); extern int XcmsCIEuvYToCIEXYZ(XcmsCCC, XcmsColor *, XcmsColor *, unsigned int); extern int XcmsCIEuvYToTekHVC(XcmsCCC, XcmsColor *, XcmsColor *, unsigned int); extern int XcmsCIExyYToCIEXYZ(XcmsCCC, XcmsColor *, XcmsColor *, unsigned int); extern XcmsColor *XcmsClientWhitePointOfCCC(XcmsCCC); extern int XcmsConvertColors(XcmsCCC, XcmsColor *, unsigned int, XcmsColorFormat, int *); extern XcmsCCC XcmsCreateCCC(Display *, int, Visual *, XcmsColor *, XcmsCompressionProc, XPointer, XcmsWhiteAdjustProc, XPointer); extern XcmsCCC XcmsDefaultCCC(Display *, int); extern Display *XcmsDisplayOfCCC(XcmsCCC); extern XcmsColorFormat XcmsFormatOfPrefix(char *); extern void XcmsFreeCCC(XcmsCCC); extern int XcmsLookupColor(Display *, Colormap, const char *, XcmsColor*, XcmsColor *, XcmsColorFormat); extern char *XcmsPrefixOfFormat(XcmsColorFormat); extern int XcmsQueryBlack(XcmsCCC, XcmsColorFormat, XcmsColor *); extern int XcmsQueryBlue(XcmsCCC, XcmsColorFormat, XcmsColor *); extern int XcmsQueryColor(Display *, Colormap, XcmsColor *, XcmsColorFormat); extern int XcmsQueryColors(Display *, Colormap, XcmsColor *, unsigned int, XcmsColorFormat); extern int XcmsQueryGreen(XcmsCCC, XcmsColorFormat, XcmsColor *); extern int XcmsQueryRed(XcmsCCC, XcmsColorFormat, XcmsColor *); extern int XcmsQueryWhite(XcmsCCC, XcmsColorFormat, XcmsColor *); extern int XcmsRGBToRGBi(XcmsCCC, XcmsColor *, unsigned int, int *); extern int XcmsRGBiToCIEXYZ(XcmsCCC, XcmsColor *, unsigned int, int *); extern int XcmsRGBiToRGB(XcmsCCC, XcmsColor *, unsigned int, int *); extern int XcmsScreenNumberOfCCC(XcmsCCC); extern XcmsColor *XcmsScreenWhitePointOfCCC(XcmsCCC); extern XcmsCCC XcmsSetCCCOfColormap(Display *, Colormap, XcmsCCC); extern XcmsCompressionProc XcmsSetCompressionProc(XcmsCCC, XcmsCompressionProc, XPointer); extern XcmsWhiteAdjustProc XcmsSetWhiteAdjustProc(XcmsCCC, XcmsWhiteAdjustProc, XPointer); extern int XcmsSetWhitePoint(XcmsCCC, XcmsColor *); extern int XcmsStoreColor(Display *, Colormap, XcmsColor *); extern int XcmsStoreColors(Display *, Colormap, XcmsColor *, unsigned int, int *); extern int XcmsTekHVCClipC(XcmsCCC, XcmsColor *, unsigned int, unsigned int, int *); extern int XcmsTekHVCClipV(XcmsCCC, XcmsColor *, unsigned int, unsigned int, int *); extern int XcmsTekHVCClipVC(XcmsCCC, XcmsColor *, unsigned int, unsigned int, int *); extern int XcmsTekHVCQueryMaxC(XcmsCCC, XcmsFloat, XcmsFloat, XcmsColor*); extern int XcmsTekHVCQueryMaxV(XcmsCCC, XcmsFloat, XcmsFloat, XcmsColor*); extern int XcmsTekHVCQueryMaxVC(XcmsCCC, XcmsFloat, XcmsColor *); extern int XcmsTekHVCQueryMaxVSamples(XcmsCCC, XcmsFloat, XcmsColor *, unsigned int); extern int XcmsTekHVCQueryMinV(XcmsCCC, XcmsFloat, XcmsFloat, XcmsColor*); extern int XcmsTekHVCToCIEuvY(XcmsCCC, XcmsColor *, XcmsColor *, unsigned int); extern int XcmsTekHVCWhiteShiftColors(XcmsCCC, XcmsColor *, XcmsColor *, XcmsColorFormat, XcmsColor *, unsigned int, int *); extern Visual *XcmsVisualOfCCC(XcmsCCC); __________________________________________________________ 6.2.5. X11/Xlib.h struct _XDisplay; typedef struct XColor; typedef void *XVaNestedList; typedef int (*XErrorHandler) (void); typedef int (*XIOErrorHandler) (void); typedef void (*XConnectionWatchProc) (void); typedef char *XPointer; typedef struct _XExtData { int number; struct _XExtData *next; int (*free_private) (struct _XExtData * extension); XPointer private_data; } XExtData; typedef struct XExtCodes; typedef struct XPixmapFormatValues; typedef struct XGCValues; typedef struct _XGC *GC; typedef struct Visual; typedef struct Depth; typedef struct Screen; typedef struct ScreenFormat; typedef struct XSetWindowAttributes; typedef struct XWindowAttributes; typedef struct XHostAddress; typedef struct _XImage { int width; int height; int xoffset; int format; char *data; int byte_order; int bitmap_unit; int bitmap_bit_order; int bitmap_pad; int depth; int bytes_per_line; int bits_per_pixel; unsigned long int red_mask; unsigned long int green_mask; unsigned long int blue_mask; XPointer obdata; struct funcs f; } XImage; typedef struct XWindowChanges; typedef struct XSegment; typedef struct XPoint; typedef struct XRectangle; typedef struct XArc; typedef struct XKeyboardControl; typedef struct XKeyboardState; typedef struct XTimeCoord; typedef struct XModifierKeymap; typedef struct _XDisplay Display; typedef struct XKeyEvent; typedef XKeyEvent XKeyPressedEvent; typedef XKeyEvent XKeyReleasedEvent; typedef struct XButtonEvent; typedef XButtonEvent XButtonPressedEvent; typedef XButtonEvent XButtonReleasedEvent; typedef struct XMotionEvent; typedef XMotionEvent XPointerMovedEvent; typedef struct XCrossingEvent; typedef XCrossingEvent XEnterWindowEvent; typedef XCrossingEvent XLeaveWindowEvent; typedef struct XFocusChangeEvent; typedef XFocusChangeEvent XFocusInEvent; typedef XFocusChangeEvent XFocusOutEvent; typedef struct XKeymapEvent; typedef struct XExposeEvent; typedef struct XGraphicsExposeEvent; typedef struct XNoExposeEvent; typedef struct XVisibilityEvent; typedef struct XCreateWindowEvent; typedef struct XDestroyWindowEvent; typedef struct XUnmapEvent; typedef struct XMapEvent; typedef struct XMapRequestEvent; typedef struct XReparentEvent; typedef struct XConfigureEvent; typedef struct XGravityEvent; typedef struct XResizeRequestEvent; typedef struct XConfigureRequestEvent; typedef struct XCirculateEvent; typedef struct XCirculateRequestEvent; typedef struct XPropertyEvent; typedef struct XSelectionClearEvent; typedef struct XSelectionRequestEvent; typedef struct XSelectionEvent; typedef struct XColormapEvent; typedef union XClientMessageEvent; typedef struct XMappingEvent; typedef struct XErrorEvent; typedef struct XAnyEvent; typedef union _XEvent { int type; XAnyEvent xany; XKeyEvent xkey; XButtonEvent xbutton; XMotionEvent xmotion; XCrossingEvent xcrossing; XFocusChangeEvent xfocus; XExposeEvent xexpose; XGraphicsExposeEvent xgraphicsexpose; XNoExposeEvent xnoexpose; XVisibilityEvent xvisibility; XCreateWindowEvent xcreatewindow; XDestroyWindowEvent xdestroywindow; XUnmapEvent xunmap; XMapEvent xmap; XMapRequestEvent xmaprequest; XReparentEvent xreparent; XConfigureEvent xconfigure; XGravityEvent xgravity; XResizeRequestEvent xresizerequest; XConfigureRequestEvent xconfigurerequest; XCirculateEvent xcirculate; XCirculateRequestEvent xcirculaterequest; XPropertyEvent xproperty; XSelectionClearEvent xselectionclear; XSelectionRequestEvent xselectionrequest; XSelectionEvent xselection; XColormapEvent xcolormap; XClientMessageEvent xclient; XMappingEvent xmapping; XErrorEvent xerror; XKeymapEvent xkeymap; long int pad[1]; } XEvent; typedef struct XCharStruct; typedef struct XFontProp; typedef struct XFontStruct; typedef struct XFontSetExtents; typedef struct XTextItem; typedef struct XChar2b; typedef struct XTextItem16; typedef union XEDataObject; typedef struct _XOM *XOM; typedef struct _XOC *XOC; typedef struct _XOC *XFontSet; typedef struct XmbTextItem; typedef struct XwcTextItem; typedef struct _XIM *XIM; typedef struct _XIC *XIC; typedef void (*XIDProc) (void); extern int XActivateScreenSaver(Display *); extern int XAddConnectionWatch(Display *, XConnectionWatchProc, XPointer); extern XExtCodes *XAddExtension(Display *); extern int XAddHost(Display *, XHostAddress *); extern int XAddHosts(Display *, XHostAddress *, int); extern int XAddToExtensionList(struct _XExtData **, XExtData *); extern int XAddToSaveSet(Display *, Window); extern unsigned long int XAllPlanes(void); extern int XAllocColor(Display *, Colormap, XColor *); extern int XAllocColorCells(Display *, Colormap, int, unsigned long int*, unsigned int, unsigned long int *, unsigned int); extern int XAllocColorPlanes(Display *, Colormap, int, unsigned long int *, int, int, int, int, unsigned long int *, unsigned long int *, unsigned long int *); extern int XAllocNamedColor(Display *, Colormap, const char *, XColor *, XColor *); extern int XAllowEvents(Display *, int, Time); extern int XAutoRepeatOff(Display *); extern int XAutoRepeatOn(Display *); extern char *XBaseFontNameListOfFontSet(XFontSet); extern int XBell(Display *, int); extern int XBitmapBitOrder(Display *); extern int XBitmapPad(Display *); extern int XBitmapUnit(Display *); extern unsigned long int XBlackPixel(Display *, int); extern unsigned long int XBlackPixelOfScreen(Screen *); extern int XCellsOfScreen(Screen *); extern int XChangeActivePointerGrab(Display *, unsigned int, Cursor, Time); extern int XChangeGC(Display *, GC, unsigned long int, XGCValues *); extern int XChangeKeyboardControl(Display *, unsigned long int, XKeyboardControl *); extern int XChangeKeyboardMapping(Display *, int, int, KeySym *, int); extern int XChangePointerControl(Display *, int, int, int, int, int); extern int XChangeProperty(Display *, Window, Atom, Atom, int, int, const unsigned char *, int); extern int XChangeSaveSet(Display *, Window, int); extern int XChangeWindowAttributes(Display *, Window, unsigned long int, XSetWindowAttributes *); extern int XCheckIfEvent(Display *, XEvent *, int (*XIDProc) (void) , XPointer); extern int XCheckMaskEvent(Display *, long int, XEvent *); extern int XCheckTypedEvent(Display *, int, XEvent *); extern int XCheckTypedWindowEvent(Display *, Window, int, XEvent *); extern int XCheckWindowEvent(Display *, Window, long int, XEvent *); extern int XCirculateSubwindows(Display *, Window, int); extern int XCirculateSubwindowsDown(Display *, Window); extern int XCirculateSubwindowsUp(Display *, Window); extern int XClearArea(Display *, Window, int, int, unsigned int, unsigned int, int); extern int XClearWindow(Display *, Window); extern int XCloseDisplay(Display *); extern int XCloseIM(XIM); extern int XCloseOM(XOM); extern int XConfigureWindow(Display *, Window, unsigned int, XWindowChanges *); extern int XConnectionNumber(Display *); extern int XContextDependentDrawing(XFontSet); extern int XContextualDrawing(XFontSet); extern int XConvertSelection(Display *, Atom, Atom, Atom, Window, Time); extern int XCopyArea(Display *, Drawable, Drawable, GC, int, int, unsigned int, unsigned int, int, int); extern Colormap XCopyColormapAndFree(Display *, Colormap); extern int XCopyGC(Display *, GC, unsigned long int, GC); extern int XCopyPlane(Display *, Drawable, Drawable, GC, int, int, unsigned int, unsigned int, int, int, unsigned long int); extern Pixmap XCreateBitmapFromData(Display *, Drawable, const char *, unsigned int, unsigned int); extern Colormap XCreateColormap(Display *, Window, Visual *, int); extern Cursor XCreateFontCursor(Display *, unsigned int); extern XFontSet XCreateFontSet(Display *, const char *, char ***, int *, char **); extern GC XCreateGC(Display *, Drawable, unsigned long int, XGCValues *); extern Cursor XCreateGlyphCursor(Display *, Font, Font, unsigned int, unsigned int, XColor *, XColor *); extern XIC XCreateIC(XIM, ...); extern XImage *XCreateImage(Display *, Visual *, unsigned int, int, int, char *, unsigned int, unsigned int, int, int); extern XOC XCreateOC(XOM, ...); extern Pixmap XCreatePixmap(Display *, Drawable, unsigned int, unsigned int, unsigned int); extern Cursor XCreatePixmapCursor(Display *, Pixmap, Pixmap, XColor *, XColor *, unsigned int, unsigned int); extern Pixmap XCreatePixmapFromBitmapData(Display *, Drawable, char *, unsigned int, unsigned int, unsigned long int, unsigned long int, unsigned int); extern Window XCreateSimpleWindow(Display *, Window, int, int, unsigned int, unsigned int, unsigned int, unsigned long int, unsigned long int); extern Window XCreateWindow(Display *, Window, int, int, unsigned int, unsigned int, unsigned int, int, unsigned int, Visual *, unsigned long int, XSetWindowAttributes *); extern Colormap XDefaultColormap(Display *, int); extern Colormap XDefaultColormapOfScreen(Screen *); extern int XDefaultDepth(Display *, int); extern int XDefaultDepthOfScreen(Screen *); extern GC XDefaultGC(Display *, int); extern GC XDefaultGCOfScreen(Screen *); extern Window XDefaultRootWindow(Display *); extern int XDefaultScreen(Display *); extern Screen *XDefaultScreenOfDisplay(Display *); extern Visual *XDefaultVisual(Display *, int); extern Visual *XDefaultVisualOfScreen(Screen *); extern int XDefineCursor(Display *, Window, Cursor); extern XModifierKeymap *XDeleteModifiermapEntry(XModifierKeymap *, unsigned int, int); extern int XDeleteProperty(Display *, Window, Atom); extern void XDestroyIC(XIC); extern void XDestroyOC(XOC); extern int XDestroySubwindows(Display *, Window); extern int XDestroyWindow(Display *, Window); extern int XDirectionalDependentDrawing(XFontSet); extern int XDisableAccessControl(Display *); extern int XDisplayCells(Display *, int); extern int XDisplayHeight(Display *, int); extern int XDisplayHeightMM(Display *, int); extern int XDisplayKeycodes(Display *, int *, int *); extern unsigned long int XDisplayMotionBufferSize(Display *); extern char *XDisplayName(const char *); extern Display *XDisplayOfIM(XIM); extern Display *XDisplayOfOM(XOM); extern Display *XDisplayOfScreen(Screen *); extern int XDisplayPlanes(Display *, int); extern char *XDisplayString(Display *); extern int XDisplayWidth(Display *, int); extern int XDisplayWidthMM(Display *, int); extern int XDoesBackingStore(Screen *); extern int XDoesSaveUnders(Screen *); extern int XDrawArc(Display *, Drawable, GC, int, int, unsigned int, unsigned int, int, int); extern int XDrawArcs(Display *, Drawable, GC, XArc *, int); extern int XDrawImageString(Display *, Drawable, GC, int, int, const char *, int); extern int XDrawImageString16(Display *, Drawable, GC, int, int, XChar2b *, int); extern int XDrawLine(Display *, Drawable, GC, int, int, int, int); extern int XDrawLines(Display *, Drawable, GC, XPoint *, int, int); extern int XDrawPoint(Display *, Drawable, GC, int, int); extern int XDrawPoints(Display *, Drawable, GC, XPoint *, int, int); extern int XDrawRectangle(Display *, Drawable, GC, int, int, unsigned int, unsigned int); extern int XDrawRectangles(Display *, Drawable, GC, XRectangle *, int); extern int XDrawSegments(Display *, Drawable, GC, XSegment *, int); extern int XDrawString(Display *, Drawable, GC, int, int, const char *, int); extern int XDrawString16(Display *, Drawable, GC, int, int, XChar2b *, int); extern int XDrawText(Display *, Drawable, GC, int, int, XTextItem *, int); extern int XDrawText16(Display *, Drawable, GC, int, int, XTextItem16 *, int); extern XExtData **XEHeadOfExtensionList(XEDataObject); extern int XESetBeforeFlush(void); extern int *XESetCloseDisplay(void); extern int XESetCopyGC(void); extern int XESetCreateFont(void); extern int XESetCreateGC(void); extern int XESetError(void); extern int XESetErrorString(void); extern int XESetEventToWire(void); extern int XESetFlushGC(void); extern int XESetFreeFont(void); extern int XESetFreeGC(void); extern int XESetPrintErrorValues(void); extern int XESetWireToError(void); extern int XESetWireToEvent(void); extern int XEnableAccessControl(Display *); extern long int XEventMaskOfScreen(Screen *); extern int XEventsQueued(Display *, int); extern long int XExtendedMaxRequestSize(Display *); extern XFontSetExtents *XExtentsOfFontSet(XFontSet); extern char *XFetchBuffer(Display *, int *, int); extern char *XFetchBytes(Display *, int *); extern int XFetchName(Display *, Window, char **); extern int XFillArc(Display *, Drawable, GC, int, int, unsigned int, unsigned int, int, int); extern int XFillArcs(Display *, Drawable, GC, XArc *, int); extern int XFillPolygon(Display *, Drawable, GC, XPoint *, int, int, int); extern int XFillRectangle(Display *, Drawable, GC, int, int, unsigned int, unsigned int); extern int XFillRectangles(Display *, Drawable, GC, XRectangle *, int); extern int XFilterEvent(XEvent *, Window); extern XExtData *XFindOnExtensionList(XExtData * *, int); extern int XFlush(Display *); extern void XFlushGC(Display *, GC); extern int XFontsOfFontSet(XFontSet, XFontStruct * **, char ***); extern int XForceScreenSaver(Display *, int); extern int XFree(void *); extern int XFreeColormap(Display *, Colormap); extern int XFreeColors(Display *, Colormap, unsigned long int *, int, unsigned long int); extern int XFreeCursor(Display *, Cursor); extern int XFreeExtensionList(char **); extern int XFreeFont(Display *, XFontStruct *); extern int XFreeFontInfo(char **, XFontStruct *, int); extern int XFreeFontNames(char **); extern int XFreeFontPath(char **); extern void XFreeFontSet(Display *, XFontSet); extern int XFreeGC(Display *, GC); extern int XFreeModifiermap(XModifierKeymap *); extern int XFreePixmap(Display *, Pixmap); extern void XFreeStringList(char **); extern GContext XGContextFromGC(GC); extern int XGeometry(Display *, int, const char *, const char *, unsigned int, unsigned int, unsigned int, int, int, int *, int *, int *, int *); extern char *XGetAtomName(Display *, Atom); extern int XGetAtomNames(Display *, Atom *, int, char **); extern int XGetCommand(Display *, Window, char ***, int *); extern char *XGetDefault(Display *, const char *, const char *); extern int XGetErrorDatabaseText(Display *, const char *, const char *, const char *, char *, int); extern int XGetErrorText(Display *, int, char *, int); extern char **XGetFontPath(Display *, int *); extern int XGetFontProperty(XFontStruct *, Atom, unsigned long int *); extern int XGetGCValues(Display *, GC, unsigned long int, XGCValues *); extern int XGetGeometry(Display *, Drawable, Window *, int *, int *, unsigned int *, unsigned int *, unsigned int *, unsigned int *); extern char *XGetICValues(XIC, ...); extern char *XGetIMValues(XIM, ...); extern int XGetIconName(Display *, Window, char **); extern XImage *XGetImage(Display *, Drawable, int, int, unsigned int, unsigned int, unsigned long int, int); extern int XGetInputFocus(Display *, Window *, int *); extern int XGetKeyboardControl(Display *, XKeyboardState *); extern KeySym *XGetKeyboardMapping(Display *, unsigned int, int, int *); extern XModifierKeymap *XGetModifierMapping(Display *); extern XTimeCoord *XGetMotionEvents(Display *, Window, Time, Time, int *); extern char *XGetOCValues(XOC, ...); extern char *XGetOMValues(XOM, ...); extern int XGetPointerControl(Display *, int *, int *, int *); extern int XGetPointerMapping(Display *, unsigned char *, int); extern int XGetScreenSaver(Display *, int *, int *, int *, int *); extern Window XGetSelectionOwner(Display *, Atom); extern XImage *XGetSubImage(Display *, Drawable, int, int, unsigned int, unsigned int, unsigned long int, int, XImage *, int, int); extern int XGetTransientForHint(Display *, Window, Window *); extern int XGetWMColormapWindows(Display *, Window, Window * *, int *); extern int XGetWMProtocols(Display *, Window, Atom * *, int *); extern int XGetWindowAttributes(Display *, Window, XWindowAttributes *); extern int XGetWindowProperty(Display *, Window, Atom, long int, long int, int, Atom, Atom *, int *, unsigned long int *, unsigned long int *, unsigned char **); extern int XGrabButton(Display *, unsigned int, unsigned int, Window, int, unsigned int, int, int, Window, Cursor); extern int XGrabKey(Display *, int, unsigned int, Window, int, int, int); extern int XGrabKeyboard(Display *, Window, int, int, int, Time); extern int XGrabPointer(Display *, Window, int, unsigned int, int, int, Window, Cursor, Time); extern int XGrabServer(Display *); extern int XHeightMMOfScreen(Screen *); extern int XHeightOfScreen(Screen *); extern XIM XIMOfIC(XIC); extern int XIconifyWindow(Display *, Window, int); extern int XIfEvent(Display *, XEvent *, int (*XIDProc) (void) , XPointer); extern int XImageByteOrder(Display *); extern XExtCodes *XInitExtension(Display *, const char *); extern int XInitImage(XImage *); extern int XInitThreads(void); extern XModifierKeymap *XInsertModifiermapEntry(XModifierKeymap *, unsigned int, int); extern int XInstallColormap(Display *, Colormap); extern Atom XInternAtom(Display *, const char *, int); extern int XInternAtoms(Display *, char **, int, int, Atom *); extern int XInternalConnectionNumbers(Display *, int **, int *); extern KeySym XKeycodeToKeysym(Display *, unsigned int, int); extern KeyCode XKeysymToKeycode(Display *, KeySym); extern char *XKeysymToString(KeySym); extern int XKillClient(Display *, XID); extern unsigned long int XLastKnownRequestProcessed(Display *); extern int *XListDepths(Display *, int, int *); extern char **XListExtensions(Display *, int *); extern char **XListFonts(Display *, const char *, int, int *); extern char **XListFontsWithInfo(Display *, const char *, int, int *, XFontStruct * *); extern XHostAddress *XListHosts(Display *, int *, int *); extern Colormap *XListInstalledColormaps(Display *, Window, int *); extern XPixmapFormatValues *XListPixmapFormats(Display *, int *); extern Atom *XListProperties(Display *, Window, int *); extern Font XLoadFont(Display *, const char *); extern XFontStruct *XLoadQueryFont(Display *, const char *); extern char *XLocaleOfFontSet(XFontSet); extern char *XLocaleOfIM(XIM); extern char *XLocaleOfOM(XOM); extern void XLockDisplay(Display *); extern int XLookupColor(Display *, Colormap, const char *, XColor *, XColor *); extern KeySym XLookupKeysym(XKeyEvent *, int); extern int XLowerWindow(Display *, Window); extern int XMapRaised(Display *, Window); extern int XMapSubwindows(Display *, Window); extern int XMapWindow(Display *, Window); extern int XMaskEvent(Display *, long int, XEvent *); extern int XMaxCmapsOfScreen(Screen *); extern long int XMaxRequestSize(Display *); extern int XMinCmapsOfScreen(Screen *); extern int XMoveResizeWindow(Display *, Window, int, int, unsigned int, unsigned int); extern int XMoveWindow(Display *, Window, int, int); extern XModifierKeymap *XNewModifiermap(int); extern int XNextEvent(Display *, XEvent *); extern unsigned long int XNextRequest(Display *); extern int XNoOp(Display *); extern XOM XOMOfOC(XOC); extern Display *XOpenDisplay(const char *); extern XIM XOpenIM(Display *, struct _XrmHashBucketRec *, char *, char *); extern XOM XOpenOM(Display *, struct _XrmHashBucketRec *, const char *, const char *); extern int XParseColor(Display *, Colormap, const char *, XColor *); extern int XParseGeometry(const char *, int *, int *, unsigned int *, unsigned int *); extern int XPeekEvent(Display *, XEvent *); extern int XPeekIfEvent(Display *, XEvent *, int (*XIDProc) (void) , XPointer); extern int XPending(Display *); extern int XPlanesOfScreen(Screen *); extern void XProcessInternalConnection(Display *, int); extern int XProtocolRevision(Display *); extern int XProtocolVersion(Display *); extern int XPutBackEvent(Display *, XEvent *); extern int XPutImage(Display *, Drawable, GC, XImage *, int, int, int, int, unsigned int, unsigned int); extern int XQLength(Display *); extern int XQueryBestCursor(Display *, Drawable, unsigned int, unsigned int, unsigned int *, unsigned int *); extern int XQueryBestSize(Display *, int, Drawable, unsigned int, unsigned int, unsigned int *, unsigned int *); extern int XQueryBestStipple(Display *, Drawable, unsigned int, unsigned int, unsigned int *, unsigned int*); extern int XQueryBestTile(Display *, Drawable, unsigned int, unsigned int, unsigned int *, unsigned int *); extern int XQueryColor(Display *, Colormap, XColor *); extern int XQueryColors(Display *, Colormap, XColor *, int); extern int XQueryExtension(Display *, const char *, int *, int *, int *); extern XFontStruct *XQueryFont(Display *, XID); extern int XQueryKeymap(Display *, char); extern int XQueryPointer(Display *, Window, Window *, Window *, int *, int *, int *, int *, unsigned int *); extern int XQueryTextExtents(Display *, XID, const char *, int, int *, int *, int *, XCharStruct *); extern int XQueryTextExtents16(Display *, XID, XChar2b *, int, int *, int *, int *, XCharStruct *); extern int XQueryTree(Display *, Window, Window *, Window *, Window * *, unsigned int *); extern int XRaiseWindow(Display *, Window); extern int XReadBitmapFile(Display *, Drawable, const char *, unsigned int *, unsigned int *, Pixmap *, int *, int *); extern int XReadBitmapFileData(const char *, unsigned int *, unsigned int *, unsigned char **, int *, int *); extern int XRebindKeysym(Display *, KeySym, KeySym *, int, const unsigned char *, int); extern int XRecolorCursor(Display *, Cursor, XColor *, XColor *); extern int XReconfigureWMWindow(Display *, Window, int, unsigned int, XWindowChanges *); extern int XRefreshKeyboardMapping(XMappingEvent *); extern int XRegisterIMInstantiateCallback(Display *, struct _XrmHashBucketRec *, char *, char *, XIDProc, XPointer); extern void XRemoveConnectionWatch(Display *, XConnectionWatchProc, XPointer); extern int XRemoveFromSaveSet(Display *, Window); extern int XRemoveHost(Display *, XHostAddress *); extern int XRemoveHosts(Display *, XHostAddress *, int); extern int XReparentWindow(Display *, Window, Window, int, int); extern int XResetScreenSaver(Display *); extern int XResizeWindow(Display *, Window, unsigned int, unsigned int); extern char *XResourceManagerString(Display *); extern int XRestackWindows(Display *, Window *, int); extern Window XRootWindow(Display *, int); extern Window XRootWindowOfScreen(Screen *); extern int XRotateBuffers(Display *, int); extern int XRotateWindowProperties(Display *, Window, Atom *, int, int); extern int XScreenCount(Display *); extern int XScreenNumberOfScreen(Screen *); extern Screen *XScreenOfDisplay(Display *, int); extern char *XScreenResourceString(Screen *); extern int XSelectInput(Display *, Window, long int); extern int XSendEvent(Display *, Window, int, long int, XEvent *); extern char *XServerVendor(Display *); extern int XSetAccessControl(Display *, int); extern int (*XSetAfterFunction(void)) (Display *); extern int XSetArcMode(Display *, GC, int); extern void XSetAuthorization(char *, int, char *, int); extern int XSetBackground(Display *, GC, unsigned long int); extern int XSetClipMask(Display *, GC, Pixmap); extern int XSetClipOrigin(Display *, GC, int, int); extern int XSetClipRectangles(Display *, GC, int, int, XRectangle *, int, int); extern int XSetCloseDownMode(Display *, int); extern int XSetCommand(Display *, Window, char **, int); extern int XSetDashes(Display *, GC, int, const char *, int); extern XErrorHandler XSetErrorHandler(XErrorHandler); extern int XSetFillRule(Display *, GC, int); extern int XSetFillStyle(Display *, GC, int); extern int XSetFont(Display *, GC, Font); extern int XSetFontPath(Display *, char **, int); extern int XSetForeground(Display *, GC, unsigned long int); extern int XSetFunction(Display *, GC, int); extern int XSetGraphicsExposures(Display *, GC, int); extern void XSetICFocus(XIC); extern char *XSetICValues(XIC, ...); extern XIOErrorHandler XSetIOErrorHandler(XIOErrorHandler); extern int XSetIconName(Display *, Window, const char *); extern int XSetInputFocus(Display *, Window, int, Time); extern int XSetLineAttributes(Display *, GC, unsigned int, int, int, int); extern char *XSetLocaleModifiers(const char *); extern int XSetModifierMapping(Display *, XModifierKeymap *); extern char *XSetOCValues(XOC, ...); extern char *XSetOMValues(XOM, ...); extern int XSetPlaneMask(Display *, GC, unsigned long int); extern int XSetPointerMapping(Display *, const unsigned char *, int); extern int XSetScreenSaver(Display *, int, int, int, int); extern int XSetSelectionOwner(Display *, Atom, Window, Time); extern int XSetState(Display *, GC, unsigned long int, unsigned long int, int, unsigned long int); extern int XSetStipple(Display *, GC, Pixmap); extern int XSetSubwindowMode(Display *, GC, int); extern int XSetTSOrigin(Display *, GC, int, int); extern int XSetTile(Display *, GC, Pixmap); extern int XSetTransientForHint(Display *, Window, Window); extern int XSetWMColormapWindows(Display *, Window, Window *, int); extern int XSetWMProtocols(Display *, Window, Atom *, int); extern int XSetWindowBackground(Display *, Window, unsigned long int); extern int XSetWindowBackgroundPixmap(Display *, Window, Pixmap); extern int XSetWindowBorder(Display *, Window, unsigned long int); extern int XSetWindowBorderPixmap(Display *, Window, Pixmap); extern int XSetWindowBorderWidth(Display *, Window, unsigned int); extern int XSetWindowColormap(Display *, Window, Colormap); extern int XStoreBuffer(Display *, const char *, int, int); extern int XStoreBytes(Display *, const char *, int); extern int XStoreColor(Display *, Colormap, XColor *); extern int XStoreColors(Display *, Colormap, XColor *, int); extern int XStoreName(Display *, Window, const char *); extern int XStoreNamedColor(Display *, Colormap, const char *, unsigned long int, int); extern KeySym XStringToKeysym(const char *); extern int XSupportsLocale(void); extern int XSync(Display *, int); extern int (*XSynchronize(void)) (Display *); extern int XTextExtents(XFontStruct *, const char *, int, int *, int *, int *, XCharStruct *); extern int XTextExtents16(XFontStruct *, XChar2b *, int, int *, int *, int *, XCharStruct *); extern int XTextWidth(XFontStruct *, const char *, int); extern int XTextWidth16(XFontStruct *, XChar2b *, int); extern int XTranslateCoordinates(Display *, Window, Window, int, int, int *, int *, Window *); extern int XUndefineCursor(Display *, Window); extern int XUngrabButton(Display *, unsigned int, unsigned int, Window); extern int XUngrabKey(Display *, int, unsigned int, Window); extern int XUngrabKeyboard(Display *, Time); extern int XUngrabPointer(Display *, Time); extern int XUngrabServer(Display *); extern int XUninstallColormap(Display *, Colormap); extern int XUnloadFont(Display *, Font); extern void XUnlockDisplay(Display *); extern int XUnmapSubwindows(Display *, Window); extern int XUnmapWindow(Display *, Window); extern int XUnregisterIMInstantiateCallback(Display *, struct _XrmHashBucketRec *, char *, char *, XIDProc, XPointer); extern void XUnsetICFocus(XIC); extern XVaNestedList XVaCreateNestedList(int, ...); extern int XVendorRelease(Display *); extern VisualID XVisualIDFromVisual(Visual *); extern int XWarpPointer(Display *, Window, Window, int, int, unsigned int, unsigned int, int, int); extern unsigned long int XWhitePixel(Display *, int); extern unsigned long int XWhitePixelOfScreen(Screen *); extern int XWidthMMOfScreen(Screen *); extern int XWidthOfScreen(Screen *); extern int XWindowEvent(Display *, Window, long int, XEvent *); extern int XWithdrawWindow(Display *, Window, int); extern int XWriteBitmapFile(Display *, const char *, Pixmap, unsigned int, unsigned int, int, int); extern void XmbDrawImageString(Display *, Drawable, XFontSet, GC, int, int, const char *, int); extern void XmbDrawString(Display *, Drawable, XFontSet, GC, int, int, const char *, int); extern void XmbDrawText(Display *, Drawable, GC, int, int, XmbTextItem *, int); extern int XmbLookupString(XIC, XKeyPressedEvent *, char *, int, KeySym*, int *); extern char *XmbResetIC(XIC); extern int XmbTextEscapement(XFontSet, const char *, int); extern int XmbTextExtents(XFontSet, const char *, int, XRectangle *, XRectangle *); extern int XmbTextPerCharExtents(XFontSet, const char *, int, XRectangle *, XRectangle *, int, int *, XRectangle *, XRectangle *); extern void XrmInitialize(void); extern void XwcDrawImageString(Display *, Drawable, XFontSet, GC, int, int, wchar_t *, int); extern void XwcDrawString(Display *, Drawable, XFontSet, GC, int, int, wchar_t *, int); extern void XwcDrawText(Display *, Drawable, GC, int, int, XwcTextItem *, int); extern int XwcLookupString(XIC, XKeyPressedEvent *, wchar_t *, int, KeySym *, int *); extern wchar_t *XwcResetIC(XIC); extern int XwcTextEscapement(XFontSet, wchar_t *, int); extern int XwcTextExtents(XFontSet, wchar_t *, int, XRectangle *, XRectangle *); extern int XwcTextPerCharExtents(XFontSet, wchar_t *, int, XRectangle *, XRectangle *, int, int *, XRectangle *, XRectangle *); __________________________________________________________ 6.2.6. X11/Xresource.h extern void XrmCombineDatabase(XrmDatabase, XrmDatabase *, int); extern int XrmCombineFileDatabase(const char *, XrmDatabase *, int); extern void XrmDestroyDatabase(XrmDatabase); extern int XrmEnumerateDatabase(XrmDatabase, XrmNameList, XrmClassList, int, int, XPointer); extern XrmDatabase XrmGetDatabase(Display *); extern XrmDatabase XrmGetFileDatabase(const char *); extern int XrmGetResource(XrmDatabase, const char *, const char *, char**, XrmValue *); extern XrmDatabase XrmGetStringDatabase(const char *); extern const char *XrmLocaleOfDatabase(XrmDatabase); extern void XrmMergeDatabases(XrmDatabase, XrmDatabase *); extern void XrmParseCommand(XrmDatabase *, XrmOptionDescList, int, const char *, int *, char **); extern XrmQuark XrmPermStringToQuark(const char *); extern void XrmPutFileDatabase(XrmDatabase, const char *); extern void XrmPutLineResource(XrmDatabase *, const char *); extern void XrmPutResource(XrmDatabase *, const char *, const char *, XrmValue *); extern void XrmPutStringResource(XrmDatabase *, const char *, const char *); extern int XrmQGetResource(XrmDatabase, XrmNameList, XrmClassList, XrmRepresentation *, XrmValue *); extern int XrmQGetSearchList(XrmDatabase, XrmNameList, XrmClassList, XrmSearchList, int); extern int XrmQGetSearchResource(XrmSearchList, XrmName, XrmClass, XrmRepresentation *, XrmValue *); extern void XrmQPutResource(XrmDatabase *, XrmBindingList, XrmQuarkList, XrmRepresentation, XrmValue *); extern void XrmQPutStringResource(XrmDatabase *, XrmBindingList, XrmQuarkList, const char *); extern XrmString XrmQuarkToString(XrmQuark); extern void XrmSetDatabase(Display *, XrmDatabase); extern void XrmStringToBindingQuarkList(const char *, XrmBindingList, XrmQuarkList); extern XrmQuark XrmStringToQuark(const char *); extern void XrmStringToQuarkList(const char *, XrmQuarkList); extern XrmQuark XrmUniqueQuark(void); __________________________________________________________ 6.2.7. X11/Xutil.h typedef struct XSizeHints; typedef struct XWMHints; typedef struct XTextProperty; typedef struct XIconSize; typedef struct XClassHint; typedef struct _XComposeStatus { XPointer compose_ptr; int chars_matched; } XComposeStatus; typedef struct _XRegion *Region; typedef struct XVisualInfo; typedef struct XStandardColormap; typedef int XContext; typedef enum XICCEncodingStyle; extern int XAddPixel(void); extern XClassHint *XAllocClassHint(void); extern XIconSize *XAllocIconSize(void); extern XSizeHints *XAllocSizeHints(void); extern XStandardColormap *XAllocStandardColormap(void); extern XWMHints *XAllocWMHints(void); extern int XClipBox(Region, XRectangle *); extern void XConvertCase(KeySym, KeySym *, KeySym *); extern Region XCreateRegion(void); extern const char *XDefaultString(void); extern int XDeleteContext(Display *, XID, XContext); extern int XDestroyImage(XImage *); extern int XDestroyRegion(Region); extern int XEmptyRegion(Region); extern int XEqualRegion(Region, Region); extern int XFindContext(Display *, XID, XContext, XPointer *); extern int XGetClassHint(Display *, Window, XClassHint *); extern int XGetIconSizes(Display *, Window, XIconSize * *, int *); extern int XGetNormalHints(Display *, Window, XSizeHints *); extern unsigned long int XGetPixel(void); extern int XGetRGBColormaps(Display *, Window, XStandardColormap * *, int *, Atom); extern int XGetSizeHints(Display *, Window, XSizeHints *, Atom); extern int XGetStandardColormap(Display *, Window, XStandardColormap *, Atom); extern int XGetTextProperty(Display *, Window, XTextProperty *, Atom); extern XVisualInfo *XGetVisualInfo(Display *, long int, XVisualInfo *, int *); extern int XGetWMClientMachine(Display *, Window, XTextProperty *); extern XWMHints *XGetWMHints(Display *, Window); extern int XGetWMIconName(Display *, Window, XTextProperty *); extern int XGetWMName(Display *, Window, XTextProperty *); extern int XGetWMNormalHints(Display *, Window, XSizeHints *, long int *); extern int XGetWMSizeHints(Display *, Window, XSizeHints *, long int *, Atom); extern int XGetZoomHints(Display *, Window, XSizeHints *); extern int XIntersectRegion(Region, Region, Region); extern int XLookupString(XKeyEvent *, char *, int, KeySym *, XComposeStatus *); extern int XMatchVisualInfo(Display *, int, int, int, XVisualInfo *); extern int XOffsetRegion(Region, int, int); extern int XPointInRegion(Region, int, int); extern Region XPolygonRegion(XPoint *, int, int); extern int XPutPixel(void); extern int XRectInRegion(Region, int, int, unsigned int, unsigned int); extern int XSaveContext(Display *, XID, XContext, const char *); extern int XSetClassHint(Display *, Window, XClassHint *); extern int XSetIconSizes(Display *, Window, XIconSize *, int); extern int XSetNormalHints(Display *, Window, XSizeHints *); extern void XSetRGBColormaps(Display *, Window, XStandardColormap *, int, Atom); extern int XSetRegion(Display *, GC, Region); extern int XSetSizeHints(Display *, Window, XSizeHints *, Atom); extern void XSetStandardColormap(Display *, Window, XStandardColormap *, Atom); extern int XSetStandardProperties(Display *, Window, const char *, const char *, Pixmap, char **, int, XSizeHints *); extern void XSetTextProperty(Display *, Window, XTextProperty *, Atom); extern void XSetWMClientMachine(Display *, Window, XTextProperty *); extern int XSetWMHints(Display *, Window, XWMHints *); extern void XSetWMIconName(Display *, Window, XTextProperty *); extern void XSetWMName(Display *, Window, XTextProperty *); extern void XSetWMNormalHints(Display *, Window, XSizeHints *); extern void XSetWMProperties(Display *, Window, XTextProperty *, XTextProperty *, char **, int, XSizeHints *, XWMHints *, XClassHint *); extern void XSetWMSizeHints(Display *, Window, XSizeHints *, Atom); extern int XSetZoomHints(Display *, Window, XSizeHints *); extern int XShrinkRegion(Region, int, int); extern int XStringListToTextProperty(char **, int, XTextProperty *); extern XImage *XSubImage(void); extern int XSubtractRegion(Region, Region, Region); extern int XTextPropertyToStringList(XTextProperty *, char ***, int *); extern int XUnionRectWithRegion(XRectangle *, Region, Region); extern int XUnionRegion(Region, Region, Region); extern int XWMGeometry(Display *, int, const char *, const char *, unsigned int, XSizeHints *, int *, int *, int *, int *, int *); extern int XXorRegion(Region, Region, Region); extern void XmbSetWMProperties(Display *, Window, const char *, const char *, char **, int, XSizeHints *, XWMHints *, XClassHint *); extern int XmbTextListToTextProperty(Display *, char **, int, XICCEncodingStyle, XTextProperty *); extern int XmbTextPropertyToTextList(Display *, XTextProperty *, char ***, int *); extern void XwcFreeStringList(wchar_t * *); extern int XwcTextListToTextProperty(Display *, wchar_t * *, int, XICCEncodingStyle, XTextProperty *); extern int XwcTextPropertyToTextList(Display *, XTextProperty *, wchar_t * **, int *); extern int Xutf8TextPropertyToTextList(Display *, XTextProperty *, char ***, int *); extern int Xutf8TextListToTextProperty(Display *, char **, int, XICCEncodingStyle, XTextProperty*); __________________________________________________________ 6.3. Interface Definitions for libX11 The interfaces defined on the following pages are included in libX11 and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard. Other interfaces listed in Section 6.1 shall behave as described in the referenced base document. __________________________________________________________ 6.4. Interfaces for libSM Table 6-3 defines the library name and shared object name for the libSM library Table 6-3. libSM Definition Library: libSM SONAME: libSM.so.6 The behavior of the interfaces in this library is specified by the following specifications: [XSM] X11 Session Management __________________________________________________________ 6.4.1. Session Management Functions __________________________________________________________ 6.4.1.1. Interfaces for Session Management Functions An LSB conforming implementation shall provide the generic functions for Session Management Functions specified in Table 6-4, with the full mandatory functionality as described in the referenced underlying specification. Table 6-4. libSM - Session Management Functions Function Interfaces SmFreeProperty [XSM] SmFreeReasons [XSM] SmcClientID [XSM] SmcCloseConnection [XSM] SmcDeleteProperties [XSM] SmcGetIceConnection [XSM] SmcGetProperties [XSM] SmcInteractDone [XSM] SmcInteractRequest [XSM] SmcModifyCallbacks [XSM] SmcOpenConnection [XSM] SmcProtocolRevision [XSM] SmcProtocolVersion [XSM] SmcRelease [XSM] SmcRequestSaveYourself [XSM] SmcRequestSaveYourselfPhase2 [XSM] SmcSaveYourselfDone [XSM] SmcSetErrorHandler [XSM] SmcSetProperties [XSM] SmcVendor [XSM] SmsCleanUp [XSM] SmsClientHostName [XSM] SmsClientID [XSM] SmsDie [XSM] SmsGenerateClientID [XSM] SmsGetIceConnection [XSM] SmsInitialize [XSM] SmsInteract [XSM] SmsProtocolRevision [XSM] SmsProtocolVersion [XSM] SmsRegisterClientReply [XSM] SmsReturnProperties [XSM] SmsSaveComplete [XSM] SmsSaveYourself [XSM] SmsSaveYourselfPhase2 [XSM] SmsSetErrorHandler [XSM] SmsShutdownCancelled [XSM] __________________________________________________________ 6.5. Data Definitions for libSM This section defines global identifiers and their values that are associated with interfaces contained in libSM. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 6.5.1. X11/SM/SMlib.h typedef IcePointer SmPointer; typedef struct _SmcConn *SmcConn; typedef struct _SmsConn *SmsConn; typedef struct { int length; SmPointer value; } SmPropValue; typedef struct { char *name; char *type; int num_vals; SmPropValue *vals; } SmProp; typedef enum { SmcClosedNow, SmcClosedASAP, SmcConnectionInUse } SmcCloseStatus; typedef void (*SmcSaveYourselfPhase2Proc) (void); typedef void (*SmcInteractProc) (void); typedef void (*SmcDieProc) (void); typedef void (*SmcShutdownCancelledProc) (void); typedef void (*SmcSaveCompleteProc) (void); typedef void (*SmcPropReplyProc) (void); typedef struct { SmcShutdownCancelledProc callback; SmPointer client_data; } SmcCallbacks; typedef void (*SmsSetPropertiesProc) (void); typedef void (*SmsDeletePropertiesProc) (void); typedef void (*SmsGetPropertiesProc) (void); typedef struct { SmsGetPropertiesProc callback; SmPointer manager_data; } SmsCallbacks; typedef int (*SmsNewClientProc) (void); typedef void (*SmcErrorHandler) (void); typedef void (*SmsErrorHandler) (void); extern void SmFreeProperty(SmProp *); extern void SmFreeReasons(int, char **); extern char *SmcClientID(SmcConn); extern SmcCloseStatus SmcCloseConnection(SmcConn, int, char **); extern void SmcDeleteProperties(SmcConn, int, char **); extern IceConn SmcGetIceConnection(SmcConn); extern int SmcGetProperties(SmcConn, SmcPropReplyProc, SmPointer); extern void SmcInteractDone(SmcConn, int); extern int SmcInteractRequest(SmcConn, int, SmcInteractProc, SmPointer); extern void SmcModifyCallbacks(SmcConn, unsigned long int, SmcCallbacks*); extern SmcConn SmcOpenConnection(char *, SmPointer, int, int, unsigned long int, SmcCallbacks *, char *, char **, int, char *); extern int SmcProtocolRevision(SmcConn); extern int SmcProtocolVersion(SmcConn); extern char *SmcRelease(SmcConn); extern void SmcRequestSaveYourself(SmcConn, int, int, int, int, int); extern int SmcRequestSaveYourselfPhase2(SmcConn, SmcSaveYourselfPhase2Proc, SmPointer); extern void SmcSaveYourselfDone(SmcConn, int); extern SmcErrorHandler SmcSetErrorHandler(SmcErrorHandler); extern void SmcSetProperties(SmcConn, int, SmProp * *); extern char *SmcVendor(SmcConn); extern void SmsCleanUp(SmsConn); extern char *SmsClientHostName(SmsConn); extern char *SmsClientID(SmsConn); extern void SmsDie(SmsConn); extern char *SmsGenerateClientID(SmsConn); extern IceConn SmsGetIceConnection(SmsConn); extern int SmsInitialize(char *, char *, SmsNewClientProc, SmPointer, IceHostBasedAuthProc, int, char *); extern void SmsInteract(SmsConn); extern int SmsProtocolRevision(SmsConn); extern int SmsProtocolVersion(SmsConn); extern int SmsRegisterClientReply(SmsConn, char *); extern void SmsReturnProperties(SmsConn, int, SmProp * *); extern void SmsSaveComplete(SmsConn); extern void SmsSaveYourself(SmsConn, int, int, int, int); extern void SmsSaveYourselfPhase2(SmsConn); extern SmsErrorHandler SmsSetErrorHandler(SmsErrorHandler); extern void SmsShutdownCancelled(SmsConn); __________________________________________________________ 6.6. Interfaces for libICE Table 6-5 defines the library name and shared object name for the libICE library Table 6-5. libICE Definition Library: libICE SONAME: libICE.so.6 The behavior of the interfaces in this library is specified by the following specifications: [XICE] X11 Inter-Client Exchange __________________________________________________________ 6.6.1. ICE Functions __________________________________________________________ 6.6.1.1. Interfaces for ICE Functions An LSB conforming implementation shall provide the generic functions for ICE Functions specified in Table 6-6, with the full mandatory functionality as described in the referenced underlying specification. Table 6-6. libICE - ICE Functions Function Interfaces IceAcceptConnection [XICE] IceAddConnectionWatch [XICE] IceAllocScratch [XICE] IceAppLockConn [XICE] IceAppUnlockConn [XICE] IceAuthFileName [XICE] IceCheckShutdownNegotiation [XICE] IceCloseConnection [XICE] IceComposeNetworkIdList [XICE] IceConnectionNumber [XICE] IceConnectionStatus [XICE] IceConnectionString [XICE] IceFlush [XICE] IceFreeAuthFileEntry [XICE] IceFreeListenObjs [XICE] IceGenerateMagicCookie [XICE] IceGetAuthFileEntry [XICE] IceGetConnectionContext [XICE] IceGetInBufSize [XICE] IceGetListenConnectionNumber [XICE] IceGetListenConnectionString [XICE] IceGetOutBufSize [XICE] IceInitThreads [XICE] IceLastReceivedSequenceNumber [XICE] IceLastSentSequenceNumber [XICE] IceListenForConnections [XICE] IceListenForWellKnownConnections [XICE] IceLockAuthFile [XICE] IceOpenConnection [XICE] IcePing [XICE] IceProcessMessages [XICE] IceProtocolRevision [XICE] IceProtocolSetup [XICE] IceProtocolShutdown [XICE] IceProtocolVersion [XICE] IceReadAuthFileEntry [XICE] IceRegisterForProtocolReply [XICE] IceRegisterForProtocolSetup [XICE] IceRelease [XICE] IceRemoveConnectionWatch [XICE] IceSetErrorHandler [XICE] IceSetHostBasedAuthProc [XICE] IceSetIOErrorHandler [XICE] IceSetPaAuthData [XICE] IceSetShutdownNegotiation [XICE] IceSwapping [XICE] IceUnlockAuthFile [XICE] IceVendor [XICE] IceWriteAuthFileEntry [XICE] __________________________________________________________ 6.7. Data Definitions for libICE This section defines global identifiers and their values that are associated with interfaces contained in libICE. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 6.7.1. X11/ICE/ICElib.h typedef void *IcePointer; typedef enum { IcePoAuthHaveReply, IcePoAuthRejected, IcePoAuthFailed, IcePoAuthDoneCleanup } IcePoAuthStatus; typedef enum { IcePaAuthContinue, IcePaAuthAccepted, IcePaAuthRejected, IcePaAuthFailed } IcePaAuthStatus; typedef enum { IceConnectPending, IceConnectAccepted, IceConnectRejected, IceConnectIOError } IceConnectStatus; typedef enum { IceProtocolSetupSuccess, IceProtocolSetupFailure, IceProtocolSetupIOError, IceProtocolAlreadyActive } IceProtocolSetupStatus; typedef enum { IceAcceptSuccess, IceAcceptFailure, IceAcceptBadMalloc } IceAcceptStatus; typedef enum { IceClosedNow, IceClosedASAP, IceConnectionInUse, IceStartedShutdownNegotiation } IceCloseStatus; typedef enum { IceProcessMessagesSuccess, IceProcessMessagesIOError, IceProcessMessagesConnectionClosed } IceProcessMessagesStatus; typedef struct { unsigned long int sequence_of_request; int major_opcode_of_request; int minor_opcode_of_request; IcePointer reply; } IceReplyWaitInfo; typedef struct _IceConn *IceConn; typedef struct _IceListenObj *IceListenObj; typedef void (*IceWatchProc) (void); typedef void (*IcePoProcessMsgProc) (void); typedef void (*IcePaProcessMsgProc) (void); typedef IcePoAuthStatus(*IcePoAuthProc) (void); typedef IcePaAuthStatus(*IcePaAuthProc) (void); typedef int (*IceHostBasedAuthProc) (void); typedef int (*IceProtocolSetupProc) (void); typedef void (*IceProtocolActivateProc) (void); typedef void (*IceIOErrorProc) (void); typedef void (*IcePingReplyProc) (void); typedef void (*IceErrorHandler) (void); typedef void (*IceIOErrorHandler) (void); typedef struct { int major_version; int minor_version; IcePoProcessMsgProc process_msg_proc; } IcePoVersionRec; typedef struct { int major_version; int minor_version; IcePaProcessMsgProc process_msg_proc; } IcePaVersionRec; extern IceConn IceAcceptConnection(IceListenObj, IceAcceptStatus *); extern int IceAddConnectionWatch(IceWatchProc, IcePointer); extern char *IceAllocScratch(IceConn, unsigned long int); extern void IceAppLockConn(IceConn); extern void IceAppUnlockConn(IceConn); extern int IceCheckShutdownNegotiation(IceConn); extern IceCloseStatus IceCloseConnection(IceConn); extern char *IceComposeNetworkIdList(int, IceListenObj *); extern int IceConnectionNumber(IceConn); extern IceConnectStatus IceConnectionStatus(IceConn); extern char *IceConnectionString(IceConn); extern int IceFlush(IceConn); extern void IceFreeListenObjs(int, IceListenObj *); extern IcePointer IceGetConnectionContext(IceConn); extern int IceGetInBufSize(IceConn); extern int IceGetListenConnectionNumber(IceListenObj); extern char *IceGetListenConnectionString(IceListenObj); extern int IceGetOutBufSize(IceConn); extern int IceInitThreads(void); extern unsigned long int IceLastReceivedSequenceNumber(IceConn); extern unsigned long int IceLastSentSequenceNumber(IceConn); extern int IceListenForConnections(int *, IceListenObj * *, int, char *); extern int IceListenForWellKnownConnections(char *, int *, IceListenObj * *, int, char*); extern IceConn IceOpenConnection(char *, IcePointer, int, int, int, char *); extern int IcePing(IceConn, IcePingReplyProc, IcePointer); extern IceProcessMessagesStatus IceProcessMessages(IceConn, IceReplyWaitInfo *, int *); extern int IceProtocolRevision(IceConn); extern IceProtocolSetupStatus IceProtocolSetup(IceConn, int, IcePointer, int, int *, int *, char **, char **, int, char *); extern int IceProtocolShutdown(IceConn, int); extern int IceProtocolVersion(IceConn); extern int IceRegisterForProtocolReply(char *, char *, char *, int, IcePaVersionRec *, int, char **, IcePaAuthProc *, IceHostBasedAuthProc, IceProtocolSetupProc, IceProtocolActivateProc, IceIOErrorProc); extern int IceRegisterForProtocolSetup(char *, char *, char *, int, IcePoVersionRec *, int, char **, IcePoAuthProc *, IceIOErrorProc); extern char *IceRelease(IceConn); extern void IceRemoveConnectionWatch(IceWatchProc, IcePointer); extern IceErrorHandler IceSetErrorHandler(IceErrorHandler); extern void IceSetHostBasedAuthProc(IceListenObj, IceHostBasedAuthProc); extern IceIOErrorHandler IceSetIOErrorHandler(IceIOErrorHandler); extern void IceSetShutdownNegotiation(IceConn, int); extern int IceSwapping(IceConn); extern char *IceVendor(IceConn); __________________________________________________________ 6.7.2. X11/ICE/ICEutil.h typedef struct { char *protocol_name; unsigned short protocol_data_length; char *protocol_data; char *network_id; char *auth_name; unsigned short auth_data_length; char *auth_data; } IceAuthFileEntry; typedef struct { char *protocol_name; char *network_id; char *auth_name; unsigned short auth_data_length; char *auth_data; } IceAuthDataEntry; extern char *IceAuthFileName(void); extern void IceFreeAuthFileEntry(IceAuthFileEntry *); extern char *IceGenerateMagicCookie(int); extern IceAuthFileEntry *IceGetAuthFileEntry(char *, char *, char *); extern int IceLockAuthFile(char *, int, int, long int); extern IceAuthFileEntry *IceReadAuthFileEntry(FILE); extern void IceSetPaAuthData(int, IceAuthDataEntry *); extern void IceUnlockAuthFile(char *); extern int IceWriteAuthFileEntry(FILE, IceAuthFileEntry *); __________________________________________________________ 6.8. Interfaces for libXt Table 6-7 defines the library name and shared object name for the libXt library Table 6-7. libXt Definition Library: libXt SONAME: libXt.so.6 The behavior of the interfaces in this library is specified by the following specifications: [LSB] This Specification [Xt] X11 Toolkit Intrinsics __________________________________________________________ 6.8.1. X Toolkit __________________________________________________________ 6.8.1.1. Interfaces for X Toolkit An LSB conforming implementation shall provide the generic functions for X Toolkit specified in Table 6-8, with the full mandatory functionality as described in the referenced underlying specification. Table 6-8. libXt - X Toolkit Function Interfaces XtAddActions [Xt] XtAddCallback [Xt] XtAddCallbacks [Xt] XtAddConverter [Xt] XtAddEventHandler [Xt] XtAddExposureToRegion [Xt] XtAddGrab [Xt] XtAddInput [Xt] XtAddRawEventHandler [Xt] XtAddSignal [Xt] XtAddTimeOut [Xt] XtAddWorkProc [Xt] XtAllocateGC [Xt] XtAppAddActionHook [Xt] XtAppAddActions [Xt] XtAppAddBlockHook [Xt] XtAppAddConverter [Xt] XtAppAddInput [Xt] XtAppAddSignal [Xt] XtAppAddTimeOut [Xt] XtAppAddWorkProc [Xt] XtAppCreateShell [Xt] XtAppError [Xt] XtAppErrorMsg [Xt] XtAppGetErrorDatabase [Xt] XtAppGetErrorDatabaseText [Xt] XtAppGetExitFlag [Xt] XtAppGetSelectionTimeout [Xt] XtAppInitialize [Xt] XtAppLock [Xt] XtAppMainLoop [Xt] XtAppNextEvent [Xt] XtAppPeekEvent [Xt] XtAppPending [Xt] XtAppProcessEvent [Xt] XtAppReleaseCacheRefs [Xt] XtAppSetErrorHandler [Xt] XtAppSetErrorMsgHandler [Xt] XtAppSetExitFlag [Xt] XtAppSetFallbackResources [Xt] XtAppSetSelectionTimeout [Xt] XtAppSetTypeConverter [Xt] XtAppSetWarningHandler [Xt] XtAppSetWarningMsgHandler [Xt] XtAppUnlock [Xt] XtAppWarning [Xt] XtAppWarningMsg [Xt] XtAugmentTranslations [Xt] XtBuildEventMask [Xt] XtCallAcceptFocus [Xt] XtCallActionProc [Xt] XtCallCallbackList [Xt] XtCallCallbacks [Xt] XtCallConverter [Xt] XtCallbackExclusive [Xt] XtCallbackNone [Xt] XtCallbackNonexclusive [Xt] XtCallbackPopdown [Xt] XtCallbackReleaseCacheRef [Xt] XtCallbackReleaseCacheRefList [Xt] XtCalloc [Xt] XtCancelSelectionRequest [Xt] XtChangeManagedSet [Xt] XtClass [Xt] XtCloseDisplay [Xt] XtConfigureWidget [Xt] XtConvert [Xt] XtConvertAndStore [Xt] XtConvertCase [Xt] XtCreateApplicationContext [Xt] XtCreateApplicationShell [Xt] XtCreateManagedWidget [Xt] XtCreatePopupShell [Xt] XtCreateSelectionRequest [Xt] XtCreateWidget [Xt] XtCreateWindow [Xt] XtCvtColorToPixel [Xt] XtCvtIntToBool [Xt] XtCvtIntToBoolean [Xt] XtCvtIntToColor [Xt] XtCvtIntToFloat [Xt] XtCvtIntToFont [Xt] XtCvtIntToPixel [Xt] XtCvtIntToPixmap [Xt] XtCvtIntToShort [Xt] XtCvtIntToUnsignedChar [Xt] XtCvtStringToAcceleratorTable [Xt] XtCvtStringToAtom [Xt] XtCvtStringToBool [Xt] XtCvtStringToBoolean [Xt] XtCvtStringToCommandArgArray [Xt] XtCvtStringToCursor [Xt] XtCvtStringToDimension [Xt] XtCvtStringToDirectoryString [Xt] XtCvtStringToDisplay [Xt] XtCvtStringToFile [Xt] XtCvtStringToFloat [Xt] XtCvtStringToFont [Xt] XtCvtStringToFontSet [Xt] XtCvtStringToFontStruct [Xt] XtCvtStringToGravity [Xt] XtCvtStringToInitialState [Xt] XtCvtStringToInt [Xt] XtCvtStringToPixel [Xt] XtCvtStringToRestartStyle [Xt] XtCvtStringToShort [Xt] XtCvtStringToTranslationTable [Xt] XtCvtStringToUnsignedChar [Xt] XtCvtStringToVisual [Xt] XtDatabase [Xt] XtDestroyApplicationContext [Xt] XtDestroyGC [Xt] XtDestroyWidget [Xt] XtDirectConvert [Xt] XtDisownSelection [Xt] XtDispatchEvent [Xt] XtDispatchEventToWidget [Xt] XtDisplay [Xt] XtDisplayInitialize [Xt] XtDisplayOfObject [Xt] XtDisplayStringConversionWarning [Xt] XtDisplayToApplicationContext [Xt] XtError [Xt] XtErrorMsg [Xt] XtFindFile [Xt] XtFree [Xt] XtGetActionKeysym [Xt] XtGetActionList [Xt] XtGetApplicationNameAndClass [Xt] XtGetApplicationResources [Xt] XtGetClassExtension [Xt] XtGetConstraintResourceList [Xt] XtGetDisplays [Xt] XtGetErrorDatabase [Xt] XtGetErrorDatabaseText [Xt] XtGetGC [Xt] XtGetKeyboardFocusWidget [Xt] XtGetKeysymTable [Xt] XtGetMultiClickTime [Xt] XtGetResourceList [Xt] XtGetSelectionParameters [Xt] XtGetSelectionRequest [Xt] XtGetSelectionTimeout [Xt] XtGetSelectionValue [Xt] XtGetSelectionValueIncremental [Xt] XtGetSelectionValues [Xt] XtGetSelectionValuesIncremental [Xt] XtGetSubresources [Xt] XtGetSubvalues [Xt] XtGetValues [Xt] XtGrabButton [Xt] XtGrabKey [Xt] XtGrabKeyboard [Xt] XtGrabPointer [Xt] XtHasCallbacks [Xt] XtHooksOfDisplay [Xt] XtInitialize [Xt] XtInitializeWidgetClass [Xt] XtInsertEventHandler [Xt] XtInsertEventTypeHandler [Xt] XtInsertRawEventHandler [Xt] XtInstallAccelerators [Xt] XtInstallAllAccelerators [Xt] XtIsApplicationShell [Xt] XtIsComposite [Xt] XtIsConstraint [Xt] XtIsManaged [Xt] XtIsObject [Xt] XtIsOverrideShell [Xt] XtIsRealized [Xt] XtIsRectObj [Xt] XtIsSensitive [Xt] XtIsSessionShell [Xt] XtIsShell [Xt] XtIsSubclass [Xt] XtIsTopLevelShell [Xt] XtIsTransientShell [Xt] XtIsVendorShell [Xt] XtIsWMShell [Xt] XtIsWidget [Xt] XtKeysymToKeycodeList [Xt] XtLastEventProcessed [Xt] XtLastTimestampProcessed [Xt] XtMainLoop [Xt] XtMakeGeometryRequest [Xt] XtMakeResizeRequest [Xt] XtMalloc [Xt] XtManageChild [Xt] XtManageChildren [Xt] XtMapWidget [Xt] XtMenuPopupAction [Xt] XtMergeArgLists [Xt] XtMoveWidget [Xt] XtName [Xt] XtNameToWidget [Xt] XtNewString [Xt] XtNextEvent [Xt] XtNoticeSignal [Xt] XtOpenApplication [Xt] XtOpenDisplay [Xt] XtOverrideTranslations [Xt] XtOwnSelection [Xt] XtOwnSelectionIncremental [Xt] XtParent [Xt] XtParseAcceleratorTable [Xt] XtParseTranslationTable [Xt] XtPeekEvent [Xt] XtPending [Xt] XtPopdown [Xt] XtPopup [Xt] XtPopupSpringLoaded [Xt] XtProcessEvent [Xt] XtProcessLock [Xt] XtProcessUnlock [Xt] XtQueryGeometry [Xt] XtRealizeWidget [Xt] XtRealloc [Xt] XtRegisterCaseConverter [Xt] XtRegisterDrawable [Xt] XtRegisterExtensionSelector [Xt] XtRegisterGrabAction [Xt] XtReleaseGC [Xt] XtReleasePropertyAtom [Xt] XtRemoveActionHook [Xt] XtRemoveAllCallbacks [Xt] XtRemoveBlockHook [Xt] XtRemoveCallback [Xt] XtRemoveCallbacks [Xt] XtRemoveEventHandler [Xt] XtRemoveEventTypeHandler [Xt] XtRemoveGrab [Xt] XtRemoveInput [Xt] XtRemoveRawEventHandler [Xt] XtRemoveSignal [Xt] XtRemoveTimeOut [Xt] XtRemoveWorkProc [Xt] XtReservePropertyAtom [Xt] XtResizeWidget [Xt] XtResizeWindow [Xt] XtResolvePathname [Xt] XtScreen [Xt] XtScreenDatabase [Xt] XtScreenOfObject [Xt] XtSendSelectionRequest [Xt] XtSessionGetToken [Xt] XtSessionReturnToken [Xt] XtSetErrorHandler [Xt] XtSetErrorMsgHandler [Xt] XtSetEventDispatcher [Xt] XtSetKeyTranslator [Xt] XtSetKeyboardFocus [Xt] XtSetLanguageProc [Xt] XtSetMappedWhenManaged [Xt] XtSetMultiClickTime [Xt] XtSetSelectionParameters [Xt] XtSetSelectionTimeout [Xt] XtSetSensitive [Xt] XtSetSubvalues [Xt] XtSetTypeConverter [Xt] XtSetValues [Xt] XtSetWMColormapWindows [Xt] XtSetWarningHandler [Xt] XtSetWarningMsgHandler [Xt] XtStringConversionWarning [Xt] XtSuperclass [Xt] XtToolkitInitialize [Xt] XtToolkitThreadInitialize [Xt] XtTranslateCoords [Xt] XtTranslateKey [Xt] XtTranslateKeycode [Xt] XtUngrabButton [Xt] XtUngrabKey [Xt] XtUngrabKeyboard [Xt] XtUngrabPointer [Xt] XtUninstallTranslations [Xt] XtUnmanageChild [Xt] XtUnmanageChildren [Xt] XtUnmapWidget [Xt] XtUnrealizeWidget [Xt] XtUnregisterDrawable [Xt] XtVaAppCreateShell [Xt] XtVaAppInitialize [Xt] XtVaCreateArgsList [Xt] XtVaCreateManagedWidget [Xt] XtVaCreatePopupShell [Xt] XtVaCreateWidget [Xt] XtVaGetApplicationResources [Xt] XtVaGetSubresources [Xt] XtVaGetSubvalues [Xt] XtVaGetValues [Xt] XtVaOpenApplication [Xt] XtVaSetSubvalues [Xt] XtVaSetValues [Xt] XtWarning [Xt] XtWarningMsg [Xt] XtWidgetToApplicationContext [Xt] XtWindow [Xt] XtWindowOfObject [Xt] XtWindowToWidget [Xt] _XtCheckSubclassFlag [Xt] _XtCopyFromArg [LSB] _XtInherit [LSB] _XtIsSubclassOf [LSB] An LSB conforming implementation shall provide the generic data interfaces for X Toolkit specified in Table 6-9, with the full mandatory functionality as described in the referenced underlying specification. Table 6-9. libXt - X Toolkit Data Interfaces XtCXtToolkitError [Xt] XtShellStrings [Xt] XtStrings [Xt] _XtInheritTranslations [LSB] applicationShellWidgetClass [Xt] compositeClassRec [Xt] compositeWidgetClass [Xt] constraintClassRec [Xt] constraintWidgetClass [Xt] coreWidgetClass [Xt] objectClass [Xt] objectClassRec [Xt] overrideShellClassRec [Xt] overrideShellWidgetClass [Xt] rectObjClass [Xt] rectObjClassRec [Xt] sessionShellClassRec [Xt] sessionShellWidgetClass [Xt] shellClassRec [Xt] shellWidgetClass [Xt] topLevelShellClassRec [Xt] topLevelShellWidgetClass [Xt] transientShellClassRec [Xt] transientShellWidgetClass [Xt] widgetClass [Xt] widgetClassRec [Xt] wmShellClassRec [Xt] wmShellWidgetClass [Xt] __________________________________________________________ 6.9. Data Definitions for libXt This section defines global identifiers and their values that are associated with interfaces contained in libXt. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 6.9.1. X11/Composite.h typedef Cardinal(*XtOrderProc) (Widget child); typedef void (*XtDoChangeProc) (Widget composite_parent, WidgetList unmanage_children, Cardinal * num_unmanage_children, WidgetList manage_children, Cardinal * num_manage_children, XtPointer client_data); extern void XtChangeManagedSet(WidgetList, Cardinal, XtDoChangeProc, XtPointer, WidgetList, Cardinal); extern void XtManageChild(Widget); extern void XtManageChildren(WidgetList, Cardinal); extern void XtUnmanageChild(Widget); extern void XtUnmanageChildren(WidgetList, Cardinal); extern WidgetClass compositeWidgetClass; __________________________________________________________ 6.9.2. X11/CompositeP.h #define XtInheritGeometryManager ((XtGeometryHandler) _XtInherit) #define XtInheritDeleteChild ((XtWidgetProc) _XtInherit) #define XtInheritInsertChild ((XtWidgetProc) _XtInherit) #define XtCompositeExtensionVersion 2L typedef struct _CompositeClassPart CompositeClassPart; typedef struct _CompositeClassRec CompositeClassRec; extern CompositeClassRec compositeClassRec; __________________________________________________________ 6.9.3. X11/ConstrainP.h #define XtConstraintExtensionVersion 1L typedef struct _ConstraintPart ConstraintPart; typedef struct _ConstraintClassPart ConstraintClassPart; typedef struct _ConstraintClassRec { CoreClassPart core_class; CompositeClassPart composite_class; ConstraintClassPart constraint_class; } ConstraintClassRec; extern ConstraintClassRec constraintClassRec; __________________________________________________________ 6.9.4. X11/Constraint.h typedef struct _ConstraintClassRec *ConstraintWidgetClass; extern WidgetClass constraintWidgetClass; __________________________________________________________ 6.9.5. X11/Core.h extern WidgetClass coreWidgetClass; __________________________________________________________ 6.9.6. X11/Intrinsic.h typedef struct _WidgetRec *Widget; typedef Widget *WidgetList; typedef struct _WidgetClassRec *WidgetClass; typedef struct _CompositeRec *CompositeWidget; typedef struct _XtActionsRec *XtActionList; typedef struct _XtEventRec *XtEventTable; typedef struct _XtAppStruct *XtAppContext; typedef unsigned long int XtValueMask; typedef unsigned long int XtIntervalId; typedef unsigned long int XtInputId; typedef unsigned long int XtSignalId; typedef unsigned int XtGeometryMask; typedef unsigned long int XtGCMask; typedef unsigned long int Pixel; typedef int XtCacheType; typedef char Boolean; typedef long int XtArgVal; typedef unsigned char XtEnum; typedef unsigned int Cardinal; typedef unsigned short Dimension; typedef short Position; typedef void *XtPointer; typedef XtPointer Opaque; extern void XtAddActions(XtActionList, Cardinal); extern void XtAddCallback(Widget, char *, XtCallbackProc, XtPointer); extern void XtAddCallbacks(Widget, char *, XtCallbackList); extern void XtAddConverter(char *, char *, XtConverter, XtConvertArgList, Cardinal); extern void XtAddEventHandler(Widget, EventMask, int, XtEventHandler, XtPointer); extern void XtAddExposureToRegion(XEvent *, Region); extern void XtAddGrab(Widget, int, int); extern XtInputId XtAddInput(int, XtPointer, XtInputCallbackProc, XtPointer); extern void XtAddRawEventHandler(Widget, EventMask, int, XtEventHandler, XtPointer); extern XtIntervalId XtAddTimeOut(unsigned long int, XtTimerCallbackProc, XtPointer); extern XtWorkProcId XtAddWorkProc(XtWorkProc, XtPointer); extern GC XtAllocateGC(Widget, Cardinal, XtGCMask, XGCValues *, XtGCMask, XtGCMask); extern XtActionHookId XtAppAddActionHook(XtAppContext, XtActionHookProc, XtPointer); extern void XtAppAddActions(XtAppContext, XtActionList, Cardinal); extern XtBlockHookId XtAppAddBlockHook(XtAppContext, XtBlockHookProc, XtPointer); extern void XtAppAddConverter(XtAppContext, char *, char *, XtConverter, XtConvertArgList, Cardinal); extern XtInputId XtAppAddInput(XtAppContext, int, XtPointer, XtInputCallbackProc, XtPointer); extern XtSignalId XtAppAddSignal(XtAppContext, XtSignalCallbackProc, XtPointer); extern XtIntervalId XtAppAddTimeOut(XtAppContext, unsigned long int, XtTimerCallbackProc, XtPointer); extern XtWorkProcId XtAppAddWorkProc(XtAppContext, XtWorkProc, XtPointer); extern Widget XtAppCreateShell(char *, char *, WidgetClass, Display *, ArgList, Cardinal); extern void XtAppError(XtAppContext, char *); extern void XtAppErrorMsg(XtAppContext, char *, char *, char *, char *, String *, Cardinal *); extern XrmDatabase *XtAppGetErrorDatabase(XtAppContext); extern void XtAppGetErrorDatabaseText(XtAppContext, char *, char *, char *, char *, String, int, XrmDatabase); extern Boolean XtAppGetExitFlag(XtAppContext); extern unsigned long int XtAppGetSelectionTimeout(XtAppContext); extern Widget XtAppInitialize(XtAppContext *, char *, XrmOptionDescList, Cardinal, int *, String *, String *, ArgList, Cardinal); extern void XtAppLock(XtAppContext); extern void XtAppMainLoop(XtAppContext); extern void XtAppNextEvent(XtAppContext, XEvent *); extern Boolean XtAppPeekEvent(XtAppContext, XEvent *); extern XtInputMask XtAppPending(XtAppContext); extern void XtAppProcessEvent(XtAppContext, XtInputMask); extern void XtAppReleaseCacheRefs(XtAppContext, XtCacheRef *); extern XtErrorHandler XtAppSetErrorHandler(XtAppContext, XtErrorHandler); extern XtErrorMsgHandler XtAppSetErrorMsgHandler(XtAppContext, XtErrorMsgHandler); extern void XtAppSetExitFlag(XtAppContext); extern void XtAppSetFallbackResources(XtAppContext, String *); extern void XtAppSetSelectionTimeout(XtAppContext, unsigned long int); extern void XtAppSetTypeConverter(XtAppContext, char *, char *, XtTypeConverter, XtConvertArgList, Cardinal, XtCacheType, XtDestructor); extern XtErrorHandler XtAppSetWarningHandler(XtAppContext, XtErrorHandler); extern XtErrorMsgHandler XtAppSetWarningMsgHandler(XtAppContext, XtErrorMsgHandler); extern void XtAppUnlock(XtAppContext); extern void XtAppWarning(XtAppContext, char *); extern void XtAppWarningMsg(XtAppContext, char *, char *, char *, char *, String *, Cardinal *); extern void XtAugmentTranslations(Widget, XtTranslations); extern EventMask XtBuildEventMask(Widget); extern String XtCXtToolkitError; extern Boolean XtCallAcceptFocus(Widget, Time *); extern void XtCallActionProc(Widget, char *, XEvent *, String *, Cardinal); extern void XtCallCallbackList(Widget, XtCallbackList, XtPointer); extern void XtCallCallbacks(Widget, char *, XtPointer); extern Boolean XtCallConverter(Display *, XtTypeConverter, XrmValuePtr, Cardinal, XrmValuePtr, XrmValue *, XtCacheRef *); extern void XtCallbackExclusive(Widget, XtPointer, XtPointer); extern void XtCallbackNone(Widget, XtPointer, XtPointer); extern void XtCallbackNonexclusive(Widget, XtPointer, XtPointer); extern void XtCallbackPopdown(Widget, XtPointer, XtPointer); extern void XtCallbackReleaseCacheRef(Widget, XtPointer, XtPointer); extern void XtCallbackReleaseCacheRefList(Widget, XtPointer, XtPointer); extern char *XtCalloc(Cardinal, Cardinal); extern void XtCancelSelectionRequest(Widget, Atom); extern WidgetClass XtClass(Widget); extern void XtCloseDisplay(Display *); extern void XtConvert(Widget, char *, XrmValue *, char *, XrmValue *); extern Boolean XtConvertAndStore(Widget, char *, XrmValue *, char *, XrmValue *); extern void XtConvertCase(Display *, KeySym, KeySym *, KeySym *); extern XtAppContext XtCreateApplicationContext(void); extern Widget XtCreateApplicationShell(char *, WidgetClass, ArgList, Cardinal); extern Widget XtCreateManagedWidget(char *, WidgetClass, Widget, ArgList, Cardinal); extern Widget XtCreatePopupShell(char *, WidgetClass, Widget, ArgList, Cardinal); extern void XtCreateSelectionRequest(Widget, Atom); extern Widget XtCreateWidget(char *, WidgetClass, Widget, ArgList, Cardinal); extern Boolean XtCvtColorToPixel(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtIntToBool(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtIntToBoolean(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtIntToColor(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtIntToFloat(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtIntToFont(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtIntToPixel(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtIntToPixmap(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtIntToShort(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtIntToUnsignedChar(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToAcceleratorTable(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToAtom(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToBool(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToBoolean(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer*); extern Boolean XtCvtStringToCommandArgArray(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToCursor(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToDimension(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToDirectoryString(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToDisplay(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer*); extern Boolean XtCvtStringToFile(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToFloat(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToFont(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToFontSet(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer*); extern Boolean XtCvtStringToFontStruct(Display *, XrmValuePtr, Cardinal*, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToGravity(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer*); extern Boolean XtCvtStringToInitialState(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToInt(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToPixel(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToRestartStyle(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToShort(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToTranslationTable(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToUnsignedChar(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern Boolean XtCvtStringToVisual(Display *, XrmValuePtr, Cardinal *, XrmValuePtr, XrmValuePtr, XtPointer *); extern XrmDatabase XtDatabase(Display *); extern void XtDestroyApplicationContext(XtAppContext); extern void XtDestroyGC(GC); extern void XtDestroyWidget(Widget); extern void XtDirectConvert(XtConverter, XrmValuePtr, Cardinal, XrmValuePtr, XrmValue *); extern void XtDisownSelection(Widget, Atom, Time); extern Boolean XtDispatchEvent(XEvent *); extern Boolean XtDispatchEventToWidget(Widget, XEvent *); extern Display *XtDisplay(Widget); extern void XtDisplayInitialize(XtAppContext, Display *, char *, char *, XrmOptionDescRec *, Cardinal, int *, char **); extern Display *XtDisplayOfObject(Widget); extern void XtDisplayStringConversionWarning(Display *, char *, char *); extern XtAppContext XtDisplayToApplicationContext(Display *); extern void XtError(char *); extern void XtErrorMsg(char *, char *, char *, char *, String *, Cardinal *); extern String XtFindFile(char *, Substitution, Cardinal, XtFilePredicate); extern void XtFree(char *); extern KeySym XtGetActionKeysym(XEvent *, Modifiers *); extern void XtGetActionList(WidgetClass, XtActionList *, Cardinal *); extern void XtGetApplicationNameAndClass(Display *, String *, String *); extern void XtGetApplicationResources(Widget, XtPointer, XtResourceList, Cardinal, ArgList, Cardinal); extern XtPointer XtGetClassExtension(WidgetClass, Cardinal, XrmQuark, long int, Cardinal); extern void XtGetConstraintResourceList(WidgetClass, XtResourceList *, Cardinal *); extern void XtGetDisplays(XtAppContext, Display * **, Cardinal *); extern XrmDatabase *XtGetErrorDatabase(void); extern void XtGetErrorDatabaseText(char *, char *, char *, char *, String, int); extern GC XtGetGC(Widget, XtGCMask, XGCValues *); extern Widget XtGetKeyboardFocusWidget(Widget); extern KeySym *XtGetKeysymTable(Display *, KeyCode *, int *); extern int XtGetMultiClickTime(Display *); extern void XtGetResourceList(WidgetClass, XtResourceList *, Cardinal *); extern void XtGetSelectionParameters(Widget, Atom, XtRequestId, Atom *, XtPointer *, unsigned long int *, int *); extern XSelectionRequestEvent *XtGetSelectionRequest(Widget, Atom, XtRequestId); extern unsigned long int XtGetSelectionTimeout(void); extern void XtGetSelectionValue(Widget, Atom, Atom, XtSelectionCallbackProc, XtPointer, Time); extern void XtGetSelectionValueIncremental(Widget, Atom, Atom, XtSelectionCallbackProc, XtPointer, Time); extern void XtGetSelectionValues(Widget, Atom, Atom *, int, XtSelectionCallbackProc, XtPointer *, Time); extern void XtGetSelectionValuesIncremental(Widget, Atom, Atom *, int, XtSelectionCallbackProc, XtPointer *, Time); extern void XtGetSubresources(Widget, XtPointer, char *, char *, XtResourceList, Cardinal, ArgList, Cardinal); extern void XtGetSubvalues(XtPointer, XtResourceList, Cardinal, ArgList, Cardinal); extern void XtGetValues(Widget, ArgList, Cardinal); extern void XtGrabButton(Widget, int, Modifiers, int, unsigned int, int, int, Window, Cursor); extern void XtGrabKey(Widget, unsigned int, Modifiers, int, int, int); extern int XtGrabKeyboard(Widget, int, int, int, Time); extern int XtGrabPointer(Widget, int, unsigned int, int, int, Window, Cursor, Time); extern XtCallbackStatus XtHasCallbacks(Widget, char *); extern Widget XtHooksOfDisplay(Display *); extern Widget XtInitialize(char *, char *, XrmOptionDescRec *, Cardinal, int *, char **); extern void XtInitializeWidgetClass(WidgetClass); extern void XtInsertEventHandler(Widget, EventMask, int, XtEventHandler, XtPointer, XtListPosition); extern void XtInsertEventTypeHandler(Widget, int, XtPointer, XtEventHandler, XtPointer, XtListPosition); extern void XtInsertRawEventHandler(Widget, EventMask, int, XtEventHandler, XtPointer, XtListPosition); extern void XtInstallAccelerators(Widget, Widget); extern void XtInstallAllAccelerators(Widget, Widget); extern Boolean XtIsApplicationShell(Widget); extern Boolean XtIsComposite(Widget); extern Boolean XtIsConstraint(Widget); extern Boolean XtIsManaged(Widget); extern Boolean XtIsObject(Widget); extern Boolean XtIsOverrideShell(Widget); extern Boolean XtIsRealized(Widget); extern Boolean XtIsRectObj(Widget); extern Boolean XtIsSensitive(Widget); extern Boolean XtIsSessionShell(Widget); extern Boolean XtIsShell(Widget); extern Boolean XtIsSubclass(Widget, WidgetClass); extern Boolean XtIsTopLevelShell(Widget); extern Boolean XtIsTransientShell(Widget); extern Boolean XtIsVendorShell(Widget); extern Boolean XtIsWMShell(Widget); extern Boolean XtIsWidget(Widget); extern void XtKeysymToKeycodeList(Display *, KeySym, KeyCode * *, Cardinal *); extern XEvent *XtLastEventProcessed(Display *); extern Time XtLastTimestampProcessed(Display *); extern void XtMainLoop(void); extern XtGeometryResult XtMakeGeometryRequest(Widget, XtWidgetGeometry *, XtWidgetGeometry *); extern XtGeometryResult XtMakeResizeRequest(Widget, unsigned int, unsigned int, Dimension *, Dimension *); extern char *XtMalloc(Cardinal); extern void XtMapWidget(void); extern void XtMenuPopupAction(Widget, XEvent *, String *, Cardinal *); extern ArgList XtMergeArgLists(ArgList, Cardinal, ArgList, Cardinal); extern String XtName(Widget); extern Widget XtNameToWidget(Widget, char *); extern String XtNewString(void); extern void XtNextEvent(XEvent *); extern void XtNoticeSignal(XtSignalId); extern Widget XtOpenApplication(XtAppContext *, char *, XrmOptionDescList, Cardinal, int *, String *, String *, WidgetClass, ArgList, Cardinal); extern Display *XtOpenDisplay(XtAppContext, char *, char *, char *, XrmOptionDescRec *, Cardinal, int *, char **); extern void XtOverrideTranslations(Widget, XtTranslations); extern Boolean XtOwnSelection(Widget, Atom, Time, XtConvertSelectionProc, XtLoseSelectionProc, XtSelectionDoneProc); extern Boolean XtOwnSelectionIncremental(Widget, Atom, Time, XtConvertSelectionIncrProc, XtLoseSelectionIncrProc, XtSelectionDoneIncrProc, XtCancelConvertSelectionProc, XtPointer); extern Widget XtParent(Widget); extern XtAccelerators XtParseAcceleratorTable(char *); extern XtTranslations XtParseTranslationTable(char *); extern Boolean XtPeekEvent(XEvent *); extern Boolean XtPending(void); extern void XtPopdown(Widget); extern void XtPopup(Widget, XtGrabKind); extern void XtPopupSpringLoaded(Widget); extern void XtProcessEvent(XtInputMask); extern XtGeometryResult XtQueryGeometry(Widget, XtWidgetGeometry *, XtWidgetGeometry *); extern void XtRealizeWidget(Widget); extern char *XtRealloc(char *, Cardinal); extern void XtRegisterCaseConverter(Display *, XtCaseProc, KeySym, KeySym); extern void XtRegisterDrawable(Display *, Drawable, Widget); extern void XtRegisterExtensionSelector(Display *, int, int, XtExtensionSelectProc, XtPointer); extern void XtRegisterGrabAction(XtActionProc, int, unsigned int, int, int); extern void XtReleaseGC(Widget, GC); extern void XtReleasePropertyAtom(Widget, Atom); extern void XtRemoveActionHook(XtActionHookId); extern void XtRemoveAllCallbacks(Widget, char *); extern void XtRemoveBlockHook(XtBlockHookId); extern void XtRemoveCallback(Widget, char *, XtCallbackProc, XtPointer); extern void XtRemoveCallbacks(Widget, char *, XtCallbackList); extern void XtRemoveEventHandler(Widget, EventMask, int, XtEventHandler, XtPointer); extern void XtRemoveEventTypeHandler(Widget, int, XtPointer, XtEventHandler, XtPointer); extern void XtRemoveGrab(Widget); extern void XtRemoveInput(XtInputId); extern void XtRemoveRawEventHandler(Widget, EventMask, int, XtEventHandler, XtPointer); extern void XtRemoveSignal(XtSignalId); extern void XtRemoveTimeOut(XtIntervalId); extern void XtRemoveWorkProc(XtWorkProcId); extern Atom XtReservePropertyAtom(Widget); extern String XtResolvePathname(Display *, char *, char *, char *, char*, Substitution, Cardinal, XtFilePredicate); extern Screen *XtScreen(Widget); extern XrmDatabase XtScreenDatabase(Screen *); extern Screen *XtScreenOfObject(Widget); extern void XtSendSelectionRequest(Widget, Atom, Time); extern XtCheckpointToken XtSessionGetToken(Widget); extern void XtSessionReturnToken(XtCheckpointToken); extern void XtSetErrorHandler(XtErrorHandler); extern void XtSetErrorMsgHandler(XtErrorMsgHandler); extern XtEventDispatchProc XtSetEventDispatcher(Display *, int, XtEventDispatchProc); extern void XtSetKeyTranslator(Display *, XtKeyProc); extern void XtSetKeyboardFocus(Widget, Widget); extern XtLanguageProc XtSetLanguageProc(XtAppContext, XtLanguageProc, XtPointer); extern void XtSetMappedWhenManaged(Widget, int); extern void XtSetMultiClickTime(Display *, int); extern void XtSetSelectionParameters(Widget, Atom, Atom, XtPointer, unsigned long int, int); extern void XtSetSelectionTimeout(unsigned long int); extern void XtSetSensitive(Widget, int); extern void XtSetSubvalues(XtPointer, XtResourceList, Cardinal, ArgList, Cardinal); extern void XtSetTypeConverter(char *, char *, XtTypeConverter, XtConvertArgList, Cardinal, XtCacheType, XtDestructor); extern void XtSetValues(Widget, ArgList, Cardinal); extern void XtSetWMColormapWindows(Widget, Widget *, Cardinal); extern void XtSetWarningHandler(XtErrorHandler); extern void XtSetWarningMsgHandler(XtErrorMsgHandler); extern void XtStringConversionWarning(char *, char *); extern WidgetClass XtSuperclass(Widget); extern void XtToolkitInitialize(void); extern Boolean XtToolkitThreadInitialize(void); extern void XtTranslateCoords(Widget, int, int, Position *, Position *); extern void XtTranslateKey(Display *, unsigned int, Modifiers, Modifiers *, KeySym *); extern void XtTranslateKeycode(Display *, unsigned int, Modifiers, Modifiers *, KeySym *); extern void XtUngrabButton(Widget, unsigned int, Modifiers); extern void XtUngrabKey(Widget, unsigned int, Modifiers); extern void XtUngrabKeyboard(Widget, Time); extern void XtUngrabPointer(Widget, Time); extern void XtUninstallTranslations(Widget); extern void XtUnmapWidget(void); extern void XtUnrealizeWidget(Widget); extern void XtUnregisterDrawable(Display *, Drawable); extern Widget XtVaAppCreateShell(char *, char *, WidgetClass, Display *, ...); extern Widget XtVaAppInitialize(XtAppContext *, char *, XrmOptionDescList, Cardinal, int *, String *, String *, ...); extern XtVarArgsList XtVaCreateArgsList(XtPointer, ...); extern Widget XtVaCreateManagedWidget(char *, WidgetClass, Widget, ...); extern Widget XtVaCreatePopupShell(char *, WidgetClass, Widget, ...); extern Widget XtVaCreateWidget(char *, WidgetClass, Widget, ...); extern void XtVaGetApplicationResources(Widget, XtPointer, XtResourceList, Cardinal, ...); extern void XtVaGetSubresources(Widget, XtPointer, char *, char *, XtResourceList, Cardinal, ...); extern void XtVaGetSubvalues(XtPointer, XtResourceList, Cardinal, ...); extern void XtVaGetValues(Widget, ...); extern Widget XtVaOpenApplication(XtAppContext *, char *, XrmOptionDescList, Cardinal, int *, String *, String *, WidgetClass, ...); extern void XtVaSetSubvalues(XtPointer, XtResourceList, Cardinal, ...); extern void XtVaSetValues(Widget, ...); extern void XtWarning(char *); extern void XtWarningMsg(char *, char *, char *, char *, String *, Cardinal *); extern XtAppContext XtWidgetToApplicationContext(Widget); extern Window XtWindow(Widget); extern Window XtWindowOfObject(Widget); extern Widget XtWindowToWidget(Display *, Window); extern Boolean _XtCheckSubclassFlag(Widget, unsigned int); extern Boolean _XtIsSubclassOf(Widget, WidgetClass, WidgetClass, unsigned int); __________________________________________________________ 6.9.7. X11/IntrinsicP.h extern void XtConfigureWidget(Widget, int, int, unsigned int, unsigned int, unsigned int); extern void XtCreateWindow(Widget, unsigned int, Visual *, XtValueMask, XSetWindowAttributes *); extern void XtMoveWidget(Widget, int, int); extern void XtProcessLock(void); extern void XtProcessUnlock(void); extern void XtResizeWidget(Widget, unsigned int, unsigned int, unsigned int); extern void XtResizeWindow(Widget); extern void _XtInherit(void); __________________________________________________________ 6.9.8. X11/Object.h extern WidgetClass objectClass; __________________________________________________________ 6.9.9. X11/ObjectP.h #define XtInheritAllocate ((XtAllocateProc) _XtInherit) #define XtInheritDeallocate ((XtDeallocateProc) _XtInherit) #define XtObjectExtensionVersion 1L typedef struct _ObjectPart { Widget self; WidgetClass widget_class; Widget parent; XrmName xrm_name; Boolean being_destroyed; XtCallbackList destroy_callbacks; XtPointer constraints; } ObjectPart; typedef struct _ObjectRec { ObjectPart object; } ObjectRec; typedef struct _ObjectClassPart { WidgetClass superclass; String class_name; Cardinal widget_size; XtProc class_initialize; XtWidgetClassProc class_part_initialize; XtEnum class_inited; XtInitProc initialize; XtArgsProc initialize_hook; XtProc obj1; XtProc obj2; XtProc obj3; XtResourceList resources; Cardinal num_resources; XrmClass xrm_class; Boolean obj4; XtEnum obj5; Boolean obj6; Boolean obj7; XtWidgetProc destroy; XtProc obj8; XtProc obj9; XtSetValuesFunc set_values; XtArgsFunc set_values_hook; XtProc obj10; XtArgsProc get_values_hook; XtProc obj11; XtVersionType version; XtPointer callback_private; String obj12; XtProc obj13; XtProc obj14; XtPointer extension; } ObjectClassPart; struct { XtPointer next_extension; XrmQuark record_type; long int version; Cardinal record_size; XtAllocateProc allocate; XtDeallocateProc deallocate; }; typedef struct { XtPointer next_extension; XrmQuark record_type; long int version; Cardinal record_size; XtAllocateProc allocate; XtDeallocateProc deallocate; } ObjectClassExtensionRec; typedef struct { XtPointer next_extension; XrmQuark record_type; long int version; Cardinal record_size; XtAllocateProc allocate; XtDeallocateProc deallocate; } *ObjectClassExtension; typedef struct _ObjectClassRec { ObjectClassPart object_class; } ObjectClassRec; extern ObjectClassRec objectClassRec; __________________________________________________________ 6.9.10. X11/Shell.h extern char XtShellStrings[]; extern WidgetClass applicationShellWidgetClass; extern WidgetClass overrideShellWidgetClass; extern WidgetClass sessionShellWidgetClass; extern WidgetClass shellWidgetClass; extern WidgetClass topLevelShellWidgetClass; extern WidgetClass transientShellWidgetClass; extern WidgetClass wmShellWidgetClass; __________________________________________________________ 6.9.11. X11/StringDefs.h extern char XtStrings[]; __________________________________________________________ 6.10. Interface Definitions for libXt Table of Contents _XtCopyFromArg -- Copy "size" bytes from src to dst. _XtInherit -- inheritance operation. _XtInheritTranslations -- an inheritance constant _XtIsSubclassOf -- determine if Widget is a subclass of WidgetClass. The interfaces defined on the following pages are included in libXt and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard. Other interfaces listed in Section 6.8 shall behave as described in the referenced base document. _XtCopyFromArg Name _XtCopyFromArg -- Copy "size" bytes from src to dst. Synopsis void _XtCopyFromArg(XtArgVal src,char* dst,unsigned int size); Description The _XtCopyFromArg() function copies "size" bytes from src to dst. This is an internal X function call. _XtInherit Name _XtInherit -- inheritance operation. Synopsis #include extern void _XtInherit( #if NeedFunctionPrototypes void #endif ); Description _XtInherit() is a procedure that issues an error message if it is actually called. _XtInheritTranslations Name _XtInheritTranslations -- an inheritance constant Synopsis #include externalref int _XtInheritTranslations; Description _XtInheritTranslations is an inheritance constant. _XtIsSubclassOf Name _XtIsSubclassOf -- determine if Widget is a subclass of WidgetClass. Synopsis #include extern Boolean _XtIsSubclassOf( Widget /* object* /, WidgetClass /* widget_class */, WidgetClass /* flag_class */, _XtXtEnum /* type_flag */, ); Description Determine if Widget(object) is a subclass of WidgetClass(widget_class). __________________________________________________________ 6.11. Interfaces for libXext Table 6-10 defines the library name and shared object name for the libXext library Table 6-10. libXext Definition Library: libXext SONAME: libXext.so.6 The behavior of the interfaces in this library is specified by the following specifications: [X-dbe] Double Buffer Extension Library [X-DPMS] X Display Power Management Signaling [X-evi] X Extended Visual Interface Extension [X-security] X Security Extension Specification [X-shape] X Nonrectangular Window Shape Extension Library [X-shm] The MIT Shared Memory Extension [X-sync] X Synchronization Extension Library __________________________________________________________ 6.11.1. X Shape Extension __________________________________________________________ 6.11.1.1. Interfaces for X Shape Extension An LSB conforming implementation shall provide the generic functions for X Shape Extension specified in Table 6-11, with the full mandatory functionality as described in the referenced underlying specification. Table 6-11. libXext - X Shape Extension Function Interfaces XShapeCombineMask [X-shape] XShapeCombineRectangles [X-shape] XShapeCombineRegion [X-shape] XShapeCombineShape [X-shape] XShapeGetRectangles [X-shape] XShapeInputSelected [X-shape] XShapeOffsetShape [X-shape] XShapeQueryExtension [X-shape] XShapeQueryExtents [X-shape] XShapeQueryVersion [X-shape] XShapeSelectInput [X-shape] __________________________________________________________ 6.11.2. X Display Power Management Signaling Extension __________________________________________________________ 6.11.2.1. Interfaces for X Display Power Management Signaling Extension An LSB conforming implementation shall provide the generic functions for X Display Power Management Signaling Extension specified in Table 6-12, with the full mandatory functionality as described in the referenced underlying specification. Table 6-12. libXext - X Display Power Management Signaling Extension Function Interfaces DPMSCapable [X-DPMS] DPMSDisable [X-DPMS] DPMSEnable [X-DPMS] DPMSForceLevel [X-DPMS] DPMSGetTimeouts [X-DPMS] DPMSGetVersion [X-DPMS] DPMSInfo [X-DPMS] DPMSQueryExtension [X-DPMS] DPMSSetTimeouts [X-DPMS] __________________________________________________________ 6.11.3. X Shared Memory Extensions __________________________________________________________ 6.11.3.1. Interfaces for X Shared Memory Extensions An LSB conforming implementation shall provide the generic functions for X Shared Memory Extensions specified in Table 6-13, with the full mandatory functionality as described in the referenced underlying specification. Table 6-13. libXext - X Shared Memory Extensions Function Interfaces XShmAttach [X-shm] XShmCreateImage [X-shm] XShmCreatePixmap [X-shm] XShmDetach [X-shm] XShmGetEventBase [X-shm] XShmGetImage [X-shm] XShmPixmapFormat [X-shm] XShmPutImage [X-shm] XShmQueryExtension [X-shm] XShmQueryVersion [X-shm] __________________________________________________________ 6.11.4. MIT-MISC Extension __________________________________________________________ 6.11.4.1. Interfaces for MIT-MISC Extension No external functions are defined for libXext - MIT-MISC Extension in this part of the specification. See also the relevant architecture specific part of this specification. __________________________________________________________ 6.11.5. X Synchronization Extension __________________________________________________________ 6.11.5.1. Interfaces for X Synchronization Extension An LSB conforming implementation shall provide the generic functions for X Synchronization Extension specified in Table 6-14, with the full mandatory functionality as described in the referenced underlying specification. Table 6-14. libXext - X Synchronization Extension Function Interfaces XSyncAwait [X-sync] XSyncChangeAlarm [X-sync] XSyncChangeCounter [X-sync] XSyncCreateAlarm [X-sync] XSyncCreateCounter [X-sync] XSyncDestroyAlarm [X-sync] XSyncDestroyCounter [X-sync] XSyncFreeSystemCounterList [X-sync] XSyncGetPriority [X-sync] XSyncInitialize [X-sync] XSyncIntToValue [X-sync] XSyncIntsToValue [X-sync] XSyncListSystemCounters [X-sync] XSyncMaxValue [X-sync] XSyncMinValue [X-sync] XSyncQueryAlarm [X-sync] XSyncQueryCounter [X-sync] XSyncQueryExtension [X-sync] XSyncSetCounter [X-sync] XSyncSetPriority [X-sync] XSyncValueAdd [X-sync] XSyncValueEqual [X-sync] XSyncValueGreaterOrEqual [X-sync] XSyncValueGreaterThan [X-sync] XSyncValueHigh32 [X-sync] XSyncValueIsNegative [X-sync] XSyncValueIsPositive [X-sync] XSyncValueIsZero [X-sync] XSyncValueLessOrEqual [X-sync] XSyncValueLessThan [X-sync] XSyncValueLow32 [X-sync] XSyncValueSubtract [X-sync] __________________________________________________________ 6.11.6. X Security Extension __________________________________________________________ 6.11.6.1. Interfaces for X Security Extension An LSB conforming implementation shall provide the generic functions for X Security Extension specified in Table 6-15, with the full mandatory functionality as described in the referenced underlying specification. Table 6-15. libXext - X Security Extension Function Interfaces XSecurityAllocXauth [X-security] XSecurityFreeXauth [X-security] XSecurityGenerateAuthorization [X-security] XSecurityQueryExtension [X-security] XSecurityRevokeAuthorization [X-security] __________________________________________________________ 6.11.7. X Double Buffer Extension __________________________________________________________ 6.11.7.1. Interfaces for X Double Buffer Extension An LSB conforming implementation shall provide the generic functions for X Double Buffer Extension specified in Table 6-16, with the full mandatory functionality as described in the referenced underlying specification. Table 6-16. libXext - X Double Buffer Extension Function Interfaces XdbeAllocateBackBufferName [X-dbe] XdbeBeginIdiom [X-dbe] XdbeDeallocateBackBufferName [X-dbe] XdbeEndIdiom [X-dbe] XdbeFreeVisualInfo [X-dbe] XdbeGetBackBufferAttributes [X-dbe] XdbeGetVisualInfo [X-dbe] XdbeQueryExtension [X-dbe] XdbeSwapBuffers [X-dbe] __________________________________________________________ 6.11.8. X Extended Visual Interface Extension __________________________________________________________ 6.11.8.1. Interfaces for X Extended Visual Interface Extension An LSB conforming implementation shall provide the generic functions for X Extended Visual Interface Extension specified in Table 6-17, with the full mandatory functionality as described in the referenced underlying specification. Table 6-17. libXext - X Extended Visual Interface Extension Function Interfaces XeviGetVisualInfo [X-evi] XeviQueryExtension [X-evi] XeviQueryVersion [X-evi] __________________________________________________________ 6.12. Data Definitions for libXext This section defines global identifiers and their values that are associated with interfaces contained in libXext. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 6.12.1. X11/extensions/XEVI.h #define XEVI_TRANSPARENCY_NONE 0 #define XEVI_TRANSPARENCY_PIXEL 1 #define XEVI_TRANSPARENCY_MASK 2 typedef struct { VisualID core_visual_id; int screen; int level; unsigned int transparency_type; unsigned int transparency_value; unsigned int min_hw_colormaps; unsigned int max_hw_colormaps; unsigned int num_colormap_conflicts; VisualID *colormap_conflicts; } ExtendedVisualInfo; extern int XeviGetVisualInfo(Display *, Visual *, int, ExtendedVisualInfo * *, int *); extern int XeviQueryExtension(Display *); extern int XeviQueryVersion(Display *, int *, int *); __________________________________________________________ 6.12.2. X11/extensions/XKBgeom.h extern int XkbAllocGeomColors(XkbGeometryPtr, int); extern int XkbAllocGeomDoodads(XkbGeometryPtr, int); extern int XkbAllocGeomKeyAliases(XkbGeometryPtr, int); extern int XkbAllocGeomKeys(XkbRowPtr, int); extern int XkbAllocGeomOutlines(XkbShapePtr, int); extern int XkbAllocGeomOverlayKeys(XkbOverlayRowPtr, int); extern int XkbAllocGeomOverlayRows(XkbOverlayPtr, int); extern int XkbAllocGeomOverlays(XkbSectionPtr, int); extern int XkbAllocGeomPoints(XkbOutlinePtr, int); extern int XkbAllocGeomProps(XkbGeometryPtr, int); extern int XkbAllocGeomRows(XkbSectionPtr, int); extern int XkbAllocGeomSectionDoodads(XkbSectionPtr, int); extern int XkbAllocGeomSections(XkbGeometryPtr, int); extern int XkbAllocGeomShapes(XkbGeometryPtr, int); extern int XkbAllocGeometry(XkbDescPtr, XkbGeometrySizesPtr); extern int XkbComputeRowBounds(XkbGeometryPtr, XkbSectionPtr, XkbRowPtr); extern int XkbComputeSectionBounds(XkbGeometryPtr, XkbSectionPtr); extern int XkbComputeShapeBounds(XkbShapePtr); extern int XkbComputeShapeTop(XkbShapePtr, XkbBoundsPtr); extern char *XkbFindOverlayForKey(XkbGeometryPtr, XkbSectionPtr, char *); extern void XkbFreeGeomColors(XkbGeometryPtr, int, int, int); extern void XkbFreeGeomDoodads(XkbDoodadPtr, int, int); extern void XkbFreeGeomKeyAliases(XkbGeometryPtr, int, int, int); extern void XkbFreeGeomKeys(XkbRowPtr, int, int, int); extern void XkbFreeGeomOutlines(XkbShapePtr, int, int, int); extern void XkbFreeGeomOverlayKeys(XkbOverlayRowPtr, int, int, int); extern void XkbFreeGeomOverlayRows(XkbOverlayPtr, int, int, int); extern void XkbFreeGeomOverlays(XkbSectionPtr, int, int, int); extern void XkbFreeGeomPoints(XkbOutlinePtr, int, int, int); extern void XkbFreeGeomProperties(XkbGeometryPtr, int, int, int); extern void XkbFreeGeomRows(XkbSectionPtr, int, int, int); extern void XkbFreeGeomSections(XkbGeometryPtr, int, int, int); extern void XkbFreeGeomShapes(XkbGeometryPtr, int, int, int); extern void XkbFreeGeometry(XkbGeometryPtr, unsigned int, int); extern int XkbGetGeometry(Display *, XkbDescPtr); extern int XkbGetNamedGeometry(Display *, XkbDescPtr, Atom); extern int XkbSetGeometry(Display *, unsigned int, XkbGeometryPtr); __________________________________________________________ 6.12.3. X11/extensions/XShm.h extern int XShmAttach(Display *, XShmSegmentInfo *); extern XImage *XShmCreateImage(Display *, Visual *, unsigned int, int, char *, XShmSegmentInfo *, unsigned int, unsigned int); extern Pixmap XShmCreatePixmap(Display *, Drawable, char *, XShmSegmentInfo *, unsigned int, unsigned int, unsigned int); extern int XShmDetach(Display *, XShmSegmentInfo *); extern int XShmGetEventBase(Display *); extern int XShmGetImage(Display *, Drawable, XImage *, int, int, unsigned long int); extern int XShmPixmapFormat(Display *); extern int XShmPutImage(Display *, Drawable, GC, XImage *, int, int, int, int, unsigned int, unsigned int, int); extern int XShmQueryExtension(Display *); extern int XShmQueryVersion(Display *, int *, int *, int *); __________________________________________________________ 6.12.4. X11/extensions/Xdbe.h extern XdbeBackBuffer XdbeAllocateBackBufferName(Display *, Window, XdbeSwapAction); extern int XdbeBeginIdiom(Display *); extern int XdbeDeallocateBackBufferName(Display *, XdbeBackBuffer); extern int XdbeEndIdiom(Display *); extern void XdbeFreeVisualInfo(XdbeScreenVisualInfo *); extern XdbeBackBufferAttributes *XdbeGetBackBufferAttributes(Display *, XdbeBackBuffer); extern XdbeScreenVisualInfo *XdbeGetVisualInfo(Display *, Drawable *, int *); extern int XdbeQueryExtension(Display *, int *, int *); extern int XdbeSwapBuffers(Display *, XdbeSwapInfo *, int); __________________________________________________________ 6.12.5. X11/extensions/dpms.h extern int DPMSCapable(Display *); extern int DPMSDisable(Display *); extern int DPMSEnable(Display *); extern int DPMSForceLevel(Display *, CARD16); extern int DPMSGetTimeouts(Display *, CARD16 *, CARD16 *, CARD16 *); extern int DPMSGetVersion(Display *, int *, int *); extern int DPMSInfo(Display *, CARD16 *, BOOL *); extern int DPMSQueryExtension(Display *, int *, int *); extern int DPMSSetTimeouts(Display *, CARD16, CARD16, CARD16); __________________________________________________________ 6.12.6. X11/extensions/security.h typedef unsigned long int XSecurityAuthorization; typedef struct { unsigned int timeout; unsigned int trust_level; XID group; long int event_mask; } XSecurityAuthorizationAttributes; extern Xauth *XSecurityAllocXauth(void); extern void XSecurityFreeXauth(Xauth *); extern Xauth *XSecurityGenerateAuthorization(Display *, Xauth *, unsigned long int, XSecurityAuthorizationAttributes *, XSecurityAuthorization *); extern int XSecurityQueryExtension(Display *, int *, int *); extern int XSecurityRevokeAuthorization(Display *, XSecurityAuthorization); __________________________________________________________ 6.12.7. X11/extensions/shape.h extern void XShapeCombineMask(Display *, Window, int, int, int, Pixmap, int); extern void XShapeCombineRectangles(Display *, Window, int, int, int, XRectangle *, int, int, int); extern void XShapeCombineRegion(Display *, Window, int, int, int, Region, int); extern void XShapeCombineShape(Display *, Window, int, int, int, Window, int, int); extern XRectangle *XShapeGetRectangles(Display *, Window, int, int *, int *); extern unsigned long int XShapeInputSelected(Display *, Window); extern void XShapeOffsetShape(Display *, Window, int, int, int); extern int XShapeQueryExtension(Display *, int *, int *); extern int XShapeQueryExtents(Display *, Window, int *, int *, int *, unsigned int *, unsigned int *, int *, int *, int *, unsigned int *, unsigned int *); extern int XShapeQueryVersion(Display *, int *, int *); extern void XShapeSelectInput(Display *, Window, unsigned long int); __________________________________________________________ 6.12.8. X11/extensions/sync.h typedef struct _XSyncSystemCounter { char *name; XSyncCounter counter; XSyncValue resolution; } XSyncSystemCounter; typedef struct { XSyncCounter counter; XSyncValueType value_type; XSyncValue wait_value; XSyncTestType test_type; } XSyncTrigger; typedef struct { XSyncTrigger trigger; XSyncValue event_threshold; } XSyncWaitCondition; typedef struct { XSyncTrigger trigger; XSyncValue delta; int events; XSyncAlarmState state; } XSyncAlarmAttributes; typedef XID XSyncCounter; typedef XID XSyncAlarm; typedef struct _XSyncValue { int hi; unsigned int lo; } XSyncValue; typedef enum { XSyncAbsolute, XSyncRelative } XSyncValueType; typedef enum { XSyncPositiveTransition, XSyncNegativeTransition, XSyncPositiveComparison, XSyncNegativeComparison } XSyncTestType; typedef enum { XSyncAlarmActive, XSyncAlarmInactive, XSyncAlarmDestroyed } XSyncAlarmState; extern int XSyncAwait(Display *, XSyncWaitCondition *, int); extern int XSyncChangeAlarm(Display *, XSyncAlarm, unsigned long int, XSyncAlarmAttributes *); extern int XSyncChangeCounter(Display *, XSyncCounter, XSyncValue); extern XSyncAlarm XSyncCreateAlarm(Display *, unsigned long int, XSyncAlarmAttributes *); extern XSyncCounter XSyncCreateCounter(Display *, XSyncValue); extern int XSyncDestroyAlarm(Display *, XSyncAlarm); extern int XSyncDestroyCounter(Display *, XSyncCounter); extern void XSyncFreeSystemCounterList(XSyncSystemCounter *); extern int XSyncGetPriority(Display *, XID, int *); extern int XSyncInitialize(Display *, int *, int *); extern void XSyncIntToValue(XSyncValue *, int); extern void XSyncIntsToValue(XSyncValue *, unsigned int, int); extern XSyncSystemCounter *XSyncListSystemCounters(Display *, int *); extern void XSyncMaxValue(XSyncValue *); extern void XSyncMinValue(XSyncValue *); extern int XSyncQueryAlarm(Display *, XSyncAlarm, XSyncAlarmAttributes *); extern int XSyncQueryCounter(Display *, XSyncCounter, XSyncValue *); extern int XSyncQueryExtension(Display *, int *, int *); extern int XSyncSetCounter(Display *, XSyncCounter, XSyncValue); extern int XSyncSetPriority(Display *, XID, int); extern void XSyncValueAdd(XSyncValue *, XSyncValue, XSyncValue, int *); extern int XSyncValueEqual(XSyncValue, XSyncValue); extern int XSyncValueGreaterOrEqual(XSyncValue, XSyncValue); extern int XSyncValueGreaterThan(XSyncValue, XSyncValue); extern int XSyncValueHigh32(XSyncValue); extern int XSyncValueIsNegative(XSyncValue); extern int XSyncValueIsPositive(XSyncValue); extern int XSyncValueIsZero(XSyncValue); extern int XSyncValueLessOrEqual(XSyncValue, XSyncValue); extern int XSyncValueLessThan(XSyncValue, XSyncValue); extern unsigned int XSyncValueLow32(XSyncValue); extern void XSyncValueSubtract(XSyncValue *, XSyncValue, XSyncValue, int *); __________________________________________________________ 6.13. Interfaces for libXi Table 6-18 defines the library name and shared object name for the libXi library Table 6-18. libXi Definition Library: libXi SONAME: libXi.so.6 The behavior of the interfaces in this library is specified by the following specifications: [XINPUT] X11 Input Library __________________________________________________________ 6.13.1. XInput __________________________________________________________ 6.13.1.1. Interfaces for XInput An LSB conforming implementation shall provide the generic functions for XInput specified in Table 6-19, with the full mandatory functionality as described in the referenced underlying specification. Table 6-19. libXi - XInput Function Interfaces XAllowDeviceEvents [XINPUT] XChangeDeviceControl [XINPUT] XChangeDeviceDontPropagateList [XINPUT] XChangeDeviceKeyMapping [XINPUT] XChangeFeedbackControl [XINPUT] XChangeKeyboardDevice [XINPUT] XChangePointerDevice [XINPUT] XCloseDevice [XINPUT] XDeviceBell [XINPUT] XFreeDeviceControl [XINPUT] XFreeDeviceList [XINPUT] XFreeDeviceMotionEvents [XINPUT] XFreeDeviceState [XINPUT] XFreeFeedbackList [XINPUT] XGetDeviceButtonMapping [XINPUT] XGetDeviceControl [XINPUT] XGetDeviceDontPropagateList [XINPUT] XGetDeviceFocus [XINPUT] XGetDeviceKeyMapping [XINPUT] XGetDeviceModifierMapping [XINPUT] XGetDeviceMotionEvents [XINPUT] XGetExtensionVersion [XINPUT] XGetFeedbackControl [XINPUT] XGetSelectedExtensionEvents [XINPUT] XGrabDevice [XINPUT] XGrabDeviceButton [XINPUT] XGrabDeviceKey [XINPUT] XInput_find_display [XINPUT] XListInputDevices [XINPUT] XOpenDevice [XINPUT] XQueryDeviceState [XINPUT] XSelectExtensionEvent [XINPUT] XSendExtensionEvent [XINPUT] XSetDeviceButtonMapping [XINPUT] XSetDeviceFocus [XINPUT] XSetDeviceMode [XINPUT] XSetDeviceModifierMapping [XINPUT] XSetDeviceValuators [XINPUT] XUngrabDevice [XINPUT] XUngrabDeviceButton [XINPUT] XUngrabDeviceKey [XINPUT] III. OpenGL Libraries Table of Contents 7. Libraries 7.1. Interfaces for libGL 7.1.1. GL X interface 7.1.2. OpenGL 7.2. Data Definitions for libGL 7.2.1. GL/gl.h 7.2.2. GL/glx.h __________________________________________________________ Chapter 7. Libraries 7.1. Interfaces for libGL Table 7-1 defines the library name and shared object name for the libGL library Table 7-1. libGL Definition Library: libGL SONAME: libGL.so.1 The behavior of the interfaces in this library is specified by the following specifications: [OGL] OpenGL __________________________________________________________ 7.1.1. GL X interface __________________________________________________________ 7.1.1.1. Interfaces for GL X interface An LSB conforming implementation shall provide the generic functions for GL X interface specified in Table 7-2, with the full mandatory functionality as described in the referenced underlying specification. Table 7-2. libGL - GL X interface Function Interfaces glXChooseVisual [OGL] glXCopyContext [OGL] glXCreateContext [OGL] glXCreateGLXPixmap [OGL] glXCreateNewContext [OGL] glXCreatePbuffer [OGL] glXCreatePixmap [OGL] glXCreateWindow [OGL] glXDestroyContext [OGL] glXDestroyGLXPixmap [OGL] glXDestroyPbuffer [OGL] glXDestroyPixmap [OGL] glXDestroyWindow [OGL] glXFreeContextEXT [OGL] glXGetClientString [OGL] glXGetConfig [OGL] glXGetContextIDEXT [OGL] glXGetCurrentContext [OGL] glXGetCurrentDisplay [OGL] glXGetCurrentDrawable [OGL] glXGetCurrentReadDrawable [OGL] glXGetFBConfigAttrib [OGL] glXGetProcAddressARB [OGL] glXGetSelectedEvent [OGL] glXGetVisualFromFBConfig [OGL] glXImportContextEXT [OGL] glXIsDirect [OGL] glXMakeContextCurrent [OGL] glXMakeCurrent [OGL] glXQueryContext [OGL] glXQueryContextInfoEXT [OGL] glXQueryDrawable [OGL] glXQueryExtension [OGL] glXQueryExtensionsString [OGL] glXQueryServerString [OGL] glXQueryVersion [OGL] glXSelectEvent [OGL] glXSwapBuffers [OGL] glXUseXFont [OGL] glXWaitGL [OGL] glXWaitX [OGL] __________________________________________________________ 7.1.2. OpenGL __________________________________________________________ 7.1.2.1. Interfaces for OpenGL An LSB conforming implementation shall provide the generic functions for OpenGL specified in Table 7-3, with the full mandatory functionality as described in the referenced underlying specification. Table 7-3. libGL - OpenGL Function Interfaces glAccum [OGL] glActiveTextureARB [OGL] glAlphaFunc [OGL] glAreTexturesResident [OGL] glArrayElement [OGL] glBegin [OGL] glBindTexture [OGL] glBitmap [OGL] glBlendColor [OGL] glBlendEquation [OGL] glBlendFunc [OGL] glCallList [OGL] glCallLists [OGL] glClear [OGL] glClearAccum [OGL] glClearColor [OGL] glClearDepth [OGL] glClearIndex [OGL] glClearStencil [OGL] glClientActiveTextureARB [OGL] glClipPlane [OGL] glColor3b [OGL] glColor3bv [OGL] glColor3d [OGL] glColor3dv [OGL] glColor3f [OGL] glColor3fv [OGL] glColor3i [OGL] glColor3iv [OGL] glColor3s [OGL] glColor3sv [OGL] glColor3ub [OGL] glColor3ubv [OGL] glColor3ui [OGL] glColor3uiv [OGL] glColor3us [OGL] glColor3usv [OGL] glColor4b [OGL] glColor4bv [OGL] glColor4d [OGL] glColor4dv [OGL] glColor4f [OGL] glColor4fv [OGL] glColor4i [OGL] glColor4iv [OGL] glColor4s [OGL] glColor4sv [OGL] glColor4ub [OGL] glColor4ubv [OGL] glColor4ui [OGL] glColor4uiv [OGL] glColor4us [OGL] glColor4usv [OGL] glColorMask [OGL] glColorMaterial [OGL] glColorPointer [OGL] glColorSubTable [OGL] glColorTable [OGL] glColorTableParameterfv [OGL] glColorTableParameteriv [OGL] glConvolutionFilter1D [OGL] glConvolutionFilter2D [OGL] glConvolutionParameterf [OGL] glConvolutionParameterfv [OGL] glConvolutionParameteri [OGL] glConvolutionParameteriv [OGL] glCopyColorSubTable [OGL] glCopyColorTable [OGL] glCopyConvolutionFilter1D [OGL] glCopyConvolutionFilter2D [OGL] glCopyPixels [OGL] glCopyTexImage1D [OGL] glCopyTexImage2D [OGL] glCopyTexSubImage1D [OGL] glCopyTexSubImage2D [OGL] glCopyTexSubImage3D [OGL] glCullFace [OGL] glDeleteLists [OGL] glDeleteTextures [OGL] glDepthFunc [OGL] glDepthMask [OGL] glDepthRange [OGL] glDisable [OGL] glDisableClientState [OGL] glDrawArrays [OGL] glDrawBuffer [OGL] glDrawElements [OGL] glDrawPixels [OGL] glDrawRangeElements [OGL] glEdgeFlag [OGL] glEdgeFlagPointer [OGL] glEdgeFlagv [OGL] glEnable [OGL] glEnableClientState [OGL] glEnd [OGL] glEndList [OGL] glEvalCoord1d [OGL] glEvalCoord1dv [OGL] glEvalCoord1f [OGL] glEvalCoord1fv [OGL] glEvalCoord2d [OGL] glEvalCoord2dv [OGL] glEvalCoord2f [OGL] glEvalCoord2fv [OGL] glEvalMesh1 [OGL] glEvalMesh2 [OGL] glEvalPoint1 [OGL] glEvalPoint2 [OGL] glFeedbackBuffer [OGL] glFinish [OGL] glFlush [OGL] glFogf [OGL] glFogfv [OGL] glFogi [OGL] glFogiv [OGL] glFrontFace [OGL] glFrustum [OGL] glGenLists [OGL] glGenTextures [OGL] glGetBooleanv [OGL] glGetClipPlane [OGL] glGetColorTable [OGL] glGetColorTableParameterfv [OGL] glGetColorTableParameteriv [OGL] glGetConvolutionFilter [OGL] glGetConvolutionParameterfv [OGL] glGetConvolutionParameteriv [OGL] glGetDoublev [OGL] glGetError [OGL] glGetFloatv [OGL] glGetHistogram [OGL] glGetHistogramParameterfv [OGL] glGetHistogramParameteriv [OGL] glGetIntegerv [OGL] glGetLightfv [OGL] glGetLightiv [OGL] glGetMapdv [OGL] glGetMapfv [OGL] glGetMapiv [OGL] glGetMaterialfv [OGL] glGetMaterialiv [OGL] glGetMinmax [OGL] glGetMinmaxParameterfv [OGL] glGetMinmaxParameteriv [OGL] glGetPixelMapfv [OGL] glGetPixelMapuiv [OGL] glGetPixelMapusv [OGL] glGetPointerv [OGL] glGetPolygonStipple [OGL] glGetSeparableFilter [OGL] glGetString [OGL] glGetTexEnvfv [OGL] glGetTexEnviv [OGL] glGetTexGendv [OGL] glGetTexGenfv [OGL] glGetTexGeniv [OGL] glGetTexImage [OGL] glGetTexLevelParameterfv [OGL] glGetTexLevelParameteriv [OGL] glGetTexParameterfv [OGL] glGetTexParameteriv [OGL] glHint [OGL] glHistogram [OGL] glIndexMask [OGL] glIndexPointer [OGL] glIndexd [OGL] glIndexdv [OGL] glIndexf [OGL] glIndexfv [OGL] glIndexi [OGL] glIndexiv [OGL] glIndexs [OGL] glIndexsv [OGL] glIndexub [OGL] glIndexubv [OGL] glInitNames [OGL] glInterleavedArrays [OGL] glIsEnabled [OGL] glIsList [OGL] glIsTexture [OGL] glLightModelf [OGL] glLightModelfv [OGL] glLightModeli [OGL] glLightModeliv [OGL] glLightf [OGL] glLightfv [OGL] glLighti [OGL] glLightiv [OGL] glLineStipple [OGL] glLineWidth [OGL] glListBase [OGL] glLoadIdentity [OGL] glLoadMatrixd [OGL] glLoadMatrixf [OGL] glLoadName [OGL] glLogicOp [OGL] glMap1d [OGL] glMap1f [OGL] glMap2d [OGL] glMap2f [OGL] glMapGrid1d [OGL] glMapGrid1f [OGL] glMapGrid2d [OGL] glMapGrid2f [OGL] glMaterialf [OGL] glMaterialfv [OGL] glMateriali [OGL] glMaterialiv [OGL] glMatrixMode [OGL] glMinmax [OGL] glMultMatrixd [OGL] glMultMatrixf [OGL] glMultiTexCoord1dARB [OGL] glMultiTexCoord1dvARB [OGL] glMultiTexCoord1fARB [OGL] glMultiTexCoord1fvARB [OGL] glMultiTexCoord1iARB [OGL] glMultiTexCoord1ivARB [OGL] glMultiTexCoord1sARB [OGL] glMultiTexCoord1svARB [OGL] glMultiTexCoord2dARB [OGL] glMultiTexCoord2dvARB [OGL] glMultiTexCoord2fARB [OGL] glMultiTexCoord2fvARB [OGL] glMultiTexCoord2iARB [OGL] glMultiTexCoord2ivARB [OGL] glMultiTexCoord2sARB [OGL] glMultiTexCoord2svARB [OGL] glMultiTexCoord3dARB [OGL] glMultiTexCoord3dvARB [OGL] glMultiTexCoord3fARB [OGL] glMultiTexCoord3fvARB [OGL] glMultiTexCoord3iARB [OGL] glMultiTexCoord3ivARB [OGL] glMultiTexCoord3sARB [OGL] glMultiTexCoord3svARB [OGL] glMultiTexCoord4dARB [OGL] glMultiTexCoord4dvARB [OGL] glMultiTexCoord4fARB [OGL] glMultiTexCoord4fvARB [OGL] glMultiTexCoord4iARB [OGL] glMultiTexCoord4ivARB [OGL] glMultiTexCoord4sARB [OGL] glMultiTexCoord4svARB [OGL] glNewList [OGL] glNormal3b [OGL] glNormal3bv [OGL] glNormal3d [OGL] glNormal3dv [OGL] glNormal3f [OGL] glNormal3fv [OGL] glNormal3i [OGL] glNormal3iv [OGL] glNormal3s [OGL] glNormal3sv [OGL] glNormalPointer [OGL] glOrtho [OGL] glPassThrough [OGL] glPixelMapfv [OGL] glPixelMapuiv [OGL] glPixelMapusv [OGL] glPixelStoref [OGL] glPixelStorei [OGL] glPixelTransferf [OGL] glPixelTransferi [OGL] glPixelZoom [OGL] glPointSize [OGL] glPolygonMode [OGL] glPolygonOffset [OGL] glPolygonStipple [OGL] glPopAttrib [OGL] glPopClientAttrib [OGL] glPopMatrix [OGL] glPopName [OGL] glPrioritizeTextures [OGL] glPushAttrib [OGL] glPushClientAttrib [OGL] glPushMatrix [OGL] glPushName [OGL] glRasterPos2d [OGL] glRasterPos2dv [OGL] glRasterPos2f [OGL] glRasterPos2fv [OGL] glRasterPos2i [OGL] glRasterPos2iv [OGL] glRasterPos2s [OGL] glRasterPos2sv [OGL] glRasterPos3d [OGL] glRasterPos3dv [OGL] glRasterPos3f [OGL] glRasterPos3fv [OGL] glRasterPos3i [OGL] glRasterPos3iv [OGL] glRasterPos3s [OGL] glRasterPos3sv [OGL] glRasterPos4d [OGL] glRasterPos4dv [OGL] glRasterPos4f [OGL] glRasterPos4fv [OGL] glRasterPos4i [OGL] glRasterPos4iv [OGL] glRasterPos4s [OGL] glRasterPos4sv [OGL] glReadBuffer [OGL] glReadPixels [OGL] glRectd [OGL] glRectdv [OGL] glRectf [OGL] glRectfv [OGL] glRecti [OGL] glRectiv [OGL] glRects [OGL] glRectsv [OGL] glRenderMode [OGL] glResetHistogram [OGL] glResetMinmax [OGL] glRotated [OGL] glRotatef [OGL] glScaled [OGL] glScalef [OGL] glScissor [OGL] glSelectBuffer [OGL] glSeparableFilter2D [OGL] glShadeModel [OGL] glStencilFunc [OGL] glStencilMask [OGL] glStencilOp [OGL] glTexCoord1d [OGL] glTexCoord1dv [OGL] glTexCoord1f [OGL] glTexCoord1fv [OGL] glTexCoord1i [OGL] glTexCoord1iv [OGL] glTexCoord1s [OGL] glTexCoord1sv [OGL] glTexCoord2d [OGL] glTexCoord2dv [OGL] glTexCoord2f [OGL] glTexCoord2fv [OGL] glTexCoord2i [OGL] glTexCoord2iv [OGL] glTexCoord2s [OGL] glTexCoord2sv [OGL] glTexCoord3d [OGL] glTexCoord3dv [OGL] glTexCoord3f [OGL] glTexCoord3fv [OGL] glTexCoord3i [OGL] glTexCoord3iv [OGL] glTexCoord3s [OGL] glTexCoord3sv [OGL] glTexCoord4d [OGL] glTexCoord4dv [OGL] glTexCoord4f [OGL] glTexCoord4fv [OGL] glTexCoord4i [OGL] glTexCoord4iv [OGL] glTexCoord4s [OGL] glTexCoord4sv [OGL] glTexCoordPointer [OGL] glTexEnvf [OGL] glTexEnvfv [OGL] glTexEnvi [OGL] glTexEnviv [OGL] glTexGend [OGL] glTexGendv [OGL] glTexGenf [OGL] glTexGenfv [OGL] glTexGeni [OGL] glTexGeniv [OGL] glTexImage1D [OGL] glTexImage2D [OGL] glTexImage3D [OGL] glTexParameterf [OGL] glTexParameterfv [OGL] glTexParameteri [OGL] glTexParameteriv [OGL] glTexSubImage1D [OGL] glTexSubImage2D [OGL] glTexSubImage3D [OGL] glTranslated [OGL] glTranslatef [OGL] glVertex2d [OGL] glVertex2dv [OGL] glVertex2f [OGL] glVertex2fv [OGL] glVertex2i [OGL] glVertex2iv [OGL] glVertex2s [OGL] glVertex2sv [OGL] glVertex3d [OGL] glVertex3dv [OGL] glVertex3f [OGL] glVertex3fv [OGL] glVertex3i [OGL] glVertex3iv [OGL] glVertex3s [OGL] glVertex3sv [OGL] glVertex4d [OGL] glVertex4dv [OGL] glVertex4f [OGL] glVertex4fv [OGL] glVertex4i [OGL] glVertex4iv [OGL] glVertex4s [OGL] glVertex4sv [OGL] glVertexPointer [OGL] glViewport [OGL] glXChooseFBConfig [OGL] __________________________________________________________ 7.2. Data Definitions for libGL This section defines global identifiers and their values that are associated with interfaces contained in libGL. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 7.2.1. GL/gl.h typedef unsigned int GLenum; typedef unsigned char GLboolean; typedef unsigned int GLbitfield; typedef void GLvoid; typedef char GLbyte; typedef short GLshort; typedef int GLint; typedef unsigned char GLubyte; typedef unsigned short GLushort; typedef unsigned int GLuint; typedef int GLsizei; typedef float GLfloat; typedef float GLclampf; typedef double GLdouble; typedef double GLclampd; #define GL_UNSIGNED_BYTE 0x1401 #define GL_SHORT 0x1402 #define GL_UNSIGNED_SHORT 0x1403 #define GL_INT 0x1404 #define GL_UNSIGNED_INT 0x1405 #define GL_FLOAT 0x1406 #define GL_2_BYTES 0x1407 #define GL_3_BYTES 0x1408 #define GL_4_BYTES 0x1409 #define GL_DOUBLE 0x140A #define GL_POINTS 0x0000 #define GL_LINES 0x0001 #define GL_LINE_LOOP 0x0002 #define GL_LINE_STRIP 0x0003 #define GL_TRIANGLES 0x0004 #define GL_TRIANGLE_STRIP 0x0005 #define GL_TRIANGLE_FAN 0x0006 #define GL_QUADS 0x0007 #define GL_QUAD_STRIP 0x0008 #define GL_POLYGON 0x0009 #define GL_V2F 0x2A20 #define GL_V3F 0x2A21 #define GL_C4UB_V2F 0x2A22 #define GL_C4UB_V3F 0x2A23 #define GL_C3F_V3F 0x2A24 #define GL_N3F_V3F 0x2A25 #define GL_C4F_N3F_V3F 0x2A26 #define GL_T2F_V3F 0x2A27 #define GL_T4F_V4F 0x2A28 #define GL_T2F_C4UB_V3F 0x2A29 #define GL_T2F_C3F_V3F 0x2A2A #define GL_T2F_N3F_V3F 0x2A2B #define GL_T2F_C4F_N3F_V3F 0x2A2C #define GL_T4F_C4F_N3F_V4F 0x2A2D #define GL_VERTEX_ARRAY 0x8074 #define GL_NORMAL_ARRAY 0x8075 #define GL_COLOR_ARRAY 0x8076 #define GL_INDEX_ARRAY 0x8077 #define GL_TEXTURE_COORD_ARRAY 0x8078 #define GL_EDGE_FLAG_ARRAY 0x8079 #define GL_VERTEX_ARRAY_SIZE 0x807A #define GL_VERTEX_ARRAY_TYPE 0x807B #define GL_VERTEX_ARRAY_STRIDE 0x807C #define GL_NORMAL_ARRAY_TYPE 0x807E #define GL_NORMAL_ARRAY_STRIDE 0x807F #define GL_COLOR_ARRAY_SIZE 0x8081 #define GL_COLOR_ARRAY_TYPE 0x8082 #define GL_COLOR_ARRAY_STRIDE 0x8083 #define GL_INDEX_ARRAY_TYPE 0x8085 #define GL_INDEX_ARRAY_STRIDE 0x8086 #define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 #define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 #define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A #define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C #define GL_VERTEX_ARRAY_POINTER 0x808E #define GL_NORMAL_ARRAY_POINTER 0x808F #define GL_COLOR_ARRAY_POINTER 0x8090 #define GL_INDEX_ARRAY_POINTER 0x8091 #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 #define GL_MATRIX_MODE 0x0BA0 #define GL_MODELVIEW 0x1700 #define GL_PROJECTION 0x1701 #define GL_TEXTURE 0x1702 extern void glAccum(GLenum, GLfloat); extern void glAlphaFunc(GLenum, GLclampf); extern GLboolean glAreTexturesResident(GLsizei, GLuint *, GLboolean *); extern void glArrayElement(GLint); extern void glBegin(GLenum); extern void glBindTexture(GLenum, GLuint); extern void glBitmap(GLsizei, GLsizei, GLfloat, GLfloat, GLfloat, GLfloat, GLubyte *); extern void glBlendFunc(GLenum, GLenum); extern void glCallList(GLuint); extern void glCallLists(GLsizei, GLenum, GLvoid *); extern void glClear(GLbitfield); extern void glClearAccum(GLfloat, GLfloat, GLfloat, GLfloat); extern void glClearColor(GLclampf, GLclampf, GLclampf, GLclampf); extern void glClearDepth(GLclampd); extern void glClearIndex(GLfloat); extern void glClearStencil(GLint); extern void glClipPlane(GLenum, GLdouble *); extern void glColor3b(GLbyte, GLbyte, GLbyte); extern void glColor3bv(GLbyte *); extern void glColor3d(GLdouble, GLdouble, GLdouble); extern void glColor3dv(GLdouble *); extern void glColor3f(GLfloat, GLfloat, GLfloat); extern void glColor3fv(GLfloat *); extern void glColor3i(GLint, GLint, GLint); extern void glColor3iv(GLint *); extern void glColor3s(GLshort, GLshort, GLshort); extern void glColor3sv(GLshort *); extern void glColor3ub(GLubyte, GLubyte, GLubyte); extern void glColor3ubv(GLubyte *); extern void glColor3ui(GLuint, GLuint, GLuint); extern void glColor3uiv(GLuint *); extern void glColor3us(GLushort, GLushort, GLushort); extern void glColor3usv(GLushort *); extern void glColor4b(GLbyte, GLbyte, GLbyte, GLbyte); extern void glColor4bv(GLbyte *); extern void glColor4d(GLdouble, GLdouble, GLdouble, GLdouble); extern void glColor4dv(GLdouble *); extern void glColor4f(GLfloat, GLfloat, GLfloat, GLfloat); extern void glColor4fv(GLfloat *); extern void glColor4i(GLint, GLint, GLint, GLint); extern void glColor4iv(GLint *); extern void glColor4s(GLshort, GLshort, GLshort, GLshort); extern void glColor4sv(GLshort *); extern void glColor4ub(GLubyte, GLubyte, GLubyte, GLubyte); extern void glColor4ubv(GLubyte *); extern void glColor4ui(GLuint, GLuint, GLuint, GLuint); extern void glColor4uiv(GLuint *); extern void glColor4us(GLushort, GLushort, GLushort, GLushort); extern void glColor4usv(GLushort *); extern void glColorMask(GLboolean, GLboolean, GLboolean, GLboolean); extern void glColorMaterial(GLenum, GLenum); extern void glColorPointer(GLint, GLenum, GLsizei, GLvoid *); extern void glCopyPixels(GLint, GLint, GLsizei, GLsizei, GLenum); extern void glCopyTexImage1D(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint); extern void glCopyTexImage2D(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint); extern void glCopyTexSubImage1D(GLenum, GLint, GLint, GLint, GLint, GLsizei); extern void glCopyTexSubImage2D(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); extern void glCullFace(GLenum); extern void glDeleteLists(GLuint, GLsizei); extern void glDeleteTextures(GLsizei, GLuint *); extern void glDepthFunc(GLenum); extern void glDepthMask(GLboolean); extern void glDepthRange(GLclampd, GLclampd); extern void glDisable(GLenum); extern void glDisableClientState(GLenum); extern void glDrawArrays(GLenum, GLint, GLsizei); extern void glDrawBuffer(GLenum); extern void glDrawElements(GLenum, GLsizei, GLenum, GLvoid *); extern void glDrawPixels(GLsizei, GLsizei, GLenum, GLenum, GLvoid *); extern void glEdgeFlag(GLboolean); extern void glEdgeFlagPointer(GLsizei, GLvoid *); extern void glEdgeFlagv(GLboolean *); extern void glEnable(GLenum); extern void glEnableClientState(GLenum); extern void glEnd(void); extern void glEndList(void); extern void glEvalCoord1d(GLdouble); extern void glEvalCoord1dv(GLdouble *); extern void glEvalCoord1f(GLfloat); extern void glEvalCoord1fv(GLfloat *); extern void glEvalCoord2d(GLdouble, GLdouble); extern void glEvalCoord2dv(GLdouble *); extern void glEvalCoord2f(GLfloat, GLfloat); extern void glEvalCoord2fv(GLfloat *); extern void glEvalMesh1(GLenum, GLint, GLint); extern void glEvalMesh2(GLenum, GLint, GLint, GLint, GLint); extern void glEvalPoint1(GLint); extern void glEvalPoint2(GLint, GLint); extern void glFeedbackBuffer(GLsizei, GLenum, GLfloat *); extern void glFinish(void); extern void glFlush(void); extern void glFogf(GLenum, GLfloat); extern void glFogfv(GLenum, GLfloat *); extern void glFogi(GLenum, GLint); extern void glFogiv(GLenum, GLint *); extern void glFrontFace(GLenum); extern void glFrustum(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble); extern GLuint glGenLists(GLsizei); extern void glGenTextures(GLsizei, GLuint *); extern void glGetBooleanv(GLenum, GLboolean *); extern void glGetClipPlane(GLenum, GLdouble *); extern void glGetDoublev(GLenum, GLdouble *); extern GLenum glGetError(void); extern void glGetFloatv(GLenum, GLfloat *); extern void glGetIntegerv(GLenum, GLint *); extern void glGetLightfv(GLenum, GLenum, GLfloat *); extern void glGetLightiv(GLenum, GLenum, GLint *); extern void glGetMapdv(GLenum, GLenum, GLdouble *); extern void glGetMapfv(GLenum, GLenum, GLfloat *); extern void glGetMapiv(GLenum, GLenum, GLint *); extern void glGetMaterialfv(GLenum, GLenum, GLfloat *); extern void glGetMaterialiv(GLenum, GLenum, GLint *); extern void glGetPixelMapfv(GLenum, GLfloat *); extern void glGetPixelMapuiv(GLenum, GLuint *); extern void glGetPixelMapusv(GLenum, GLushort *); extern void glGetPointerv(GLenum, void **); extern void glGetPolygonStipple(GLubyte *); extern GLubyte *glGetString(GLenum); extern void glGetTexEnvfv(GLenum, GLenum, GLfloat *); extern void glGetTexEnviv(GLenum, GLenum, GLint *); extern void glGetTexGendv(GLenum, GLenum, GLdouble *); extern void glGetTexGenfv(GLenum, GLenum, GLfloat *); extern void glGetTexGeniv(GLenum, GLenum, GLint *); extern void glGetTexImage(GLenum, GLint, GLenum, GLenum, GLvoid *); extern void glGetTexLevelParameterfv(GLenum, GLint, GLenum, GLfloat *); extern void glGetTexLevelParameteriv(GLenum, GLint, GLenum, GLint *); extern void glGetTexParameterfv(GLenum, GLenum, GLfloat *); extern void glGetTexParameteriv(GLenum, GLenum, GLint *); extern void glHint(GLenum, GLenum); extern void glIndexMask(GLuint); extern void glIndexPointer(GLenum, GLsizei, GLvoid *); extern void glIndexd(GLdouble); extern void glIndexdv(GLdouble *); extern void glIndexf(GLfloat); extern void glIndexfv(GLfloat *); extern void glIndexi(GLint); extern void glIndexiv(GLint *); extern void glIndexs(GLshort); extern void glIndexsv(GLshort *); extern void glIndexub(GLubyte); extern void glIndexubv(GLubyte *); extern void glInitNames(void); extern void glInterleavedArrays(GLenum, GLsizei, GLvoid *); extern GLboolean glIsEnabled(GLenum); extern GLboolean glIsList(GLuint); extern GLboolean glIsTexture(GLuint); extern void glLightModelf(GLenum, GLfloat); extern void glLightModelfv(GLenum, GLfloat *); extern void glLightModeli(GLenum, GLint); extern void glLightModeliv(GLenum, GLint *); extern void glLightf(GLenum, GLenum, GLfloat); extern void glLightfv(GLenum, GLenum, GLfloat *); extern void glLighti(GLenum, GLenum, GLint); extern void glLightiv(GLenum, GLenum, GLint *); extern void glLineStipple(GLint, GLushort); extern void glLineWidth(GLfloat); extern void glListBase(GLuint); extern void glLoadIdentity(void); extern void glLoadMatrixd(GLdouble *); extern void glLoadMatrixf(GLfloat *); extern void glLoadName(GLuint); extern void glLogicOp(GLenum); extern void glMap1d(GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble *); extern void glMap1f(GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat *); extern void glMap2d(GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, GLdouble *); extern void glMap2f(GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, GLfloat *); extern void glMapGrid1d(GLint, GLdouble, GLdouble); extern void glMapGrid1f(GLint, GLfloat, GLfloat); extern void glMapGrid2d(GLint, GLdouble, GLdouble, GLint, GLdouble, GLdouble); extern void glMapGrid2f(GLint, GLfloat, GLfloat, GLint, GLfloat, GLfloat); extern void glMaterialf(GLenum, GLenum, GLfloat); extern void glMaterialfv(GLenum, GLenum, GLfloat *); extern void glMateriali(GLenum, GLenum, GLint); extern void glMaterialiv(GLenum, GLenum, GLint *); extern void glMatrixMode(GLenum); extern void glMultMatrixd(GLdouble *); extern void glMultMatrixf(GLfloat *); extern void glNewList(GLuint, GLenum); extern void glNormal3b(GLbyte, GLbyte, GLbyte); extern void glNormal3bv(GLbyte *); extern void glNormal3d(GLdouble, GLdouble, GLdouble); extern void glNormal3dv(GLdouble *); extern void glNormal3f(GLfloat, GLfloat, GLfloat); extern void glNormal3fv(GLfloat *); extern void glNormal3i(GLint, GLint, GLint); extern void glNormal3iv(GLint *); extern void glNormal3s(GLshort, GLshort, GLshort); extern void glNormal3sv(GLshort *); extern void glNormalPointer(GLenum, GLsizei, GLvoid *); extern void glOrtho(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble); extern void glPassThrough(GLfloat); extern void glPixelMapfv(GLenum, GLint, GLfloat *); extern void glPixelMapuiv(GLenum, GLint, GLuint *); extern void glPixelMapusv(GLenum, GLint, GLushort *); extern void glPixelStoref(GLenum, GLfloat); extern void glPixelStorei(GLenum, GLint); extern void glPixelTransferf(GLenum, GLfloat); extern void glPixelTransferi(GLenum, GLint); extern void glPixelZoom(GLfloat, GLfloat); extern void glPointSize(GLfloat); extern void glPolygonMode(GLenum, GLenum); extern void glPolygonOffset(GLfloat, GLfloat); extern void glPolygonStipple(GLubyte *); extern void glPopAttrib(void); extern void glPopClientAttrib(void); extern void glPopMatrix(void); extern void glPopName(void); extern void glPrioritizeTextures(GLsizei, GLuint *, GLclampf *); extern void glPushAttrib(GLbitfield); extern void glPushClientAttrib(GLbitfield); extern void glPushMatrix(void); extern void glPushName(GLuint); extern void glRasterPos2d(GLdouble, GLdouble); extern void glRasterPos2dv(GLdouble *); extern void glRasterPos2f(GLfloat, GLfloat); extern void glRasterPos2fv(GLfloat *); extern void glRasterPos2i(GLint, GLint); extern void glRasterPos2iv(GLint *); extern void glRasterPos2s(GLshort, GLshort); extern void glRasterPos2sv(GLshort *); extern void glRasterPos3d(GLdouble, GLdouble, GLdouble); extern void glRasterPos3dv(GLdouble *); extern void glRasterPos3f(GLfloat, GLfloat, GLfloat); extern void glRasterPos3fv(GLfloat *); extern void glRasterPos3i(GLint, GLint, GLint); extern void glRasterPos3iv(GLint *); extern void glRasterPos3s(GLshort, GLshort, GLshort); extern void glRasterPos3sv(GLshort *); extern void glRasterPos4d(GLdouble, GLdouble, GLdouble, GLdouble); extern void glRasterPos4dv(GLdouble *); extern void glRasterPos4f(GLfloat, GLfloat, GLfloat, GLfloat); extern void glRasterPos4fv(GLfloat *); extern void glRasterPos4i(GLint, GLint, GLint, GLint); extern void glRasterPos4iv(GLint *); extern void glRasterPos4s(GLshort, GLshort, GLshort, GLshort); extern void glRasterPos4sv(GLshort *); extern void glReadBuffer(GLenum); extern void glReadPixels(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid *); extern void glRectd(GLdouble, GLdouble, GLdouble, GLdouble); extern void glRectdv(GLdouble *, GLdouble *); extern void glRectf(GLfloat, GLfloat, GLfloat, GLfloat); extern void glRectfv(GLfloat *, GLfloat *); extern void glRecti(GLint, GLint, GLint, GLint); extern void glRectiv(GLint *, GLint *); extern void glRects(GLshort, GLshort, GLshort, GLshort); extern void glRectsv(GLshort *, GLshort *); extern GLint glRenderMode(GLenum); extern void glRotated(GLdouble, GLdouble, GLdouble, GLdouble); extern void glRotatef(GLfloat, GLfloat, GLfloat, GLfloat); extern void glScaled(GLdouble, GLdouble, GLdouble); extern void glScalef(GLfloat, GLfloat, GLfloat); extern void glScissor(GLint, GLint, GLsizei, GLsizei); extern void glSelectBuffer(GLsizei, GLuint *); extern void glShadeModel(GLenum); extern void glStencilFunc(GLenum, GLint, GLuint); extern void glStencilMask(GLuint); extern void glStencilOp(GLenum, GLenum, GLenum); extern void glTexCoord1d(GLdouble); extern void glTexCoord1dv(GLdouble *); extern void glTexCoord1f(GLfloat); extern void glTexCoord1fv(GLfloat *); extern void glTexCoord1i(GLint); extern void glTexCoord1iv(GLint *); extern void glTexCoord1s(GLshort); extern void glTexCoord1sv(GLshort *); extern void glTexCoord2d(GLdouble, GLdouble); extern void glTexCoord2dv(GLdouble *); extern void glTexCoord2f(GLfloat, GLfloat); extern void glTexCoord2fv(GLfloat *); extern void glTexCoord2i(GLint, GLint); extern void glTexCoord2iv(GLint *); extern void glTexCoord2s(GLshort, GLshort); extern void glTexCoord2sv(GLshort *); extern void glTexCoord3d(GLdouble, GLdouble, GLdouble); extern void glTexCoord3dv(GLdouble *); extern void glTexCoord3f(GLfloat, GLfloat, GLfloat); extern void glTexCoord3fv(GLfloat *); extern void glTexCoord3i(GLint, GLint, GLint); extern void glTexCoord3iv(GLint *); extern void glTexCoord3s(GLshort, GLshort, GLshort); extern void glTexCoord3sv(GLshort *); extern void glTexCoord4d(GLdouble, GLdouble, GLdouble, GLdouble); extern void glTexCoord4dv(GLdouble *); extern void glTexCoord4f(GLfloat, GLfloat, GLfloat, GLfloat); extern void glTexCoord4fv(GLfloat *); extern void glTexCoord4i(GLint, GLint, GLint, GLint); extern void glTexCoord4iv(GLint *); extern void glTexCoord4s(GLshort, GLshort, GLshort, GLshort); extern void glTexCoord4sv(GLshort *); extern void glTexCoordPointer(GLint, GLenum, GLsizei, GLvoid *); extern void glTexEnvf(GLenum, GLenum, GLfloat); extern void glTexEnvfv(GLenum, GLenum, GLfloat *); extern void glTexEnvi(GLenum, GLenum, GLint); extern void glTexEnviv(GLenum, GLenum, GLint *); extern void glTexGend(GLenum, GLenum, GLdouble); extern void glTexGendv(GLenum, GLenum, GLdouble *); extern void glTexGenf(GLenum, GLenum, GLfloat); extern void glTexGenfv(GLenum, GLenum, GLfloat *); extern void glTexGeni(GLenum, GLenum, GLint); extern void glTexGeniv(GLenum, GLenum, GLint *); extern void glTexImage1D(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, GLvoid *); extern void glTexImage2D(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, GLvoid *); extern void glTexParameterf(GLenum, GLenum, GLfloat); extern void glTexParameterfv(GLenum, GLenum, GLfloat *); extern void glTexParameteri(GLenum, GLenum, GLint); extern void glTexParameteriv(GLenum, GLenum, GLint *); extern void glTexSubImage1D(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, GLvoid *); extern void glTexSubImage2D(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid *); extern void glTranslated(GLdouble, GLdouble, GLdouble); extern void glTranslatef(GLfloat, GLfloat, GLfloat); extern void glVertex2d(GLdouble, GLdouble); extern void glVertex2dv(GLdouble *); extern void glVertex2f(GLfloat, GLfloat); extern void glVertex2fv(GLfloat *); extern void glVertex2i(GLint, GLint); extern void glVertex2iv(GLint *); extern void glVertex2s(GLshort, GLshort); extern void glVertex2sv(GLshort *); extern void glVertex3d(GLdouble, GLdouble, GLdouble); extern void glVertex3dv(GLdouble *); extern void glVertex3f(GLfloat, GLfloat, GLfloat); extern void glVertex3fv(GLfloat *); extern void glVertex3i(GLint, GLint, GLint); extern void glVertex3iv(GLint *); extern void glVertex3s(GLshort, GLshort, GLshort); extern void glVertex3sv(GLshort *); extern void glVertex4d(GLdouble, GLdouble, GLdouble, GLdouble); extern void glVertex4dv(GLdouble *); extern void glVertex4f(GLfloat, GLfloat, GLfloat, GLfloat); extern void glVertex4fv(GLfloat *); extern void glVertex4i(GLint, GLint, GLint, GLint); extern void glVertex4iv(GLint *); extern void glVertex4s(GLshort, GLshort, GLshort, GLshort); extern void glVertex4sv(GLshort *); extern void glVertexPointer(GLint, GLenum, GLsizei, GLvoid *); extern void glViewport(GLint, GLint, GLsizei, GLsizei); extern void glDrawRangeElements(GLenum, GLuint, GLuint, GLsizei, GLenum, GLvoid *); extern void glTexImage3D(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, GLvoid *); extern void glTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLvoid *); extern void glCopyTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei); extern void glColorTable(GLenum, GLenum, GLsizei, GLenum, GLenum, GLvoid *); extern void glColorSubTable(GLenum, GLsizei, GLsizei, GLenum, GLenum, GLvoid *); extern void glColorTableParameteriv(GLenum, GLenum, GLint *); extern void glColorTableParameterfv(GLenum, GLenum, GLfloat *); extern void glCopyColorSubTable(GLenum, GLsizei, GLint, GLint, GLsizei); extern void glCopyColorTable(GLenum, GLenum, GLint, GLint, GLsizei); extern void glGetColorTable(GLenum, GLenum, GLenum, GLvoid *); extern void glGetColorTableParameterfv(GLenum, GLenum, GLfloat *); extern void glGetColorTableParameteriv(GLenum, GLenum, GLint *); extern void glBlendEquation(GLenum); extern void glBlendColor(GLclampf, GLclampf, GLclampf, GLclampf); extern void glHistogram(GLenum, GLsizei, GLenum, GLboolean); extern void glResetHistogram(GLenum); extern void glGetHistogram(GLenum, GLboolean, GLenum, GLenum, GLvoid *); extern void glGetHistogramParameterfv(GLenum, GLenum, GLfloat *); extern void glGetHistogramParameteriv(GLenum, GLenum, GLint *); extern void glMinmax(GLenum, GLenum, GLboolean); extern void glResetMinmax(GLenum); extern void glGetMinmax(GLenum, GLboolean, GLenum, GLenum, GLvoid *); extern void glGetMinmaxParameterfv(GLenum, GLenum, GLfloat *); extern void glGetMinmaxParameteriv(GLenum, GLenum, GLint *); extern void glConvolutionFilter1D(GLenum, GLenum, GLsizei, GLenum, GLenum, GLvoid *); extern void glConvolutionFilter2D(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, GLvoid *); extern void glConvolutionParameterf(GLenum, GLenum, GLfloat); extern void glConvolutionParameterfv(GLenum, GLenum, GLfloat *); extern void glConvolutionParameteri(GLenum, GLenum, GLint); extern void glConvolutionParameteriv(GLenum, GLenum, GLint *); extern void glCopyConvolutionFilter1D(GLenum, GLenum, GLint, GLint, GLsizei); extern void glCopyConvolutionFilter2D(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei); extern void glGetConvolutionFilter(GLenum, GLenum, GLenum, GLvoid *); extern void glGetConvolutionParameterfv(GLenum, GLenum, GLfloat *); extern void glGetConvolutionParameteriv(GLenum, GLenum, GLint *); extern void glSeparableFilter2D(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, GLvoid *, GLvoid *); extern void glGetSeparableFilter(GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *); extern void glActiveTextureARB(GLenum); extern void glClientActiveTextureARB(GLenum); extern void glMultiTexCoord1dARB(GLenum, GLdouble); extern void glMultiTexCoord1dvARB(GLenum, GLdouble *); extern void glMultiTexCoord1fARB(GLenum, GLfloat); extern void glMultiTexCoord1fvARB(GLenum, GLfloat *); extern void glMultiTexCoord1iARB(GLenum, GLint); extern void glMultiTexCoord1ivARB(GLenum, GLint *); extern void glMultiTexCoord1sARB(GLenum, GLshort); extern void glMultiTexCoord1svARB(GLenum, GLshort *); extern void glMultiTexCoord2dARB(GLenum, GLdouble, GLdouble); extern void glMultiTexCoord2dvARB(GLenum, GLdouble *); extern void glMultiTexCoord2fARB(GLenum, GLfloat, GLfloat); extern void glMultiTexCoord2fvARB(GLenum, GLfloat *); extern void glMultiTexCoord2iARB(GLenum, GLint, GLint); extern void glMultiTexCoord2ivARB(GLenum, GLint *); extern void glMultiTexCoord2sARB(GLenum, GLshort, GLshort); extern void glMultiTexCoord2svARB(GLenum, GLshort *); extern void glMultiTexCoord3dARB(GLenum, GLdouble, GLdouble, GLdouble); extern void glMultiTexCoord3dvARB(GLenum, GLdouble *); extern void glMultiTexCoord3fARB(GLenum, GLfloat, GLfloat, GLfloat); extern void glMultiTexCoord3fvARB(GLenum, GLfloat *); extern void glMultiTexCoord3iARB(GLenum, GLint, GLint, GLint); extern void glMultiTexCoord3ivARB(GLenum, GLint *); extern void glMultiTexCoord3sARB(GLenum, GLshort, GLshort, GLshort); extern void glMultiTexCoord3svARB(GLenum, GLshort *); extern void glMultiTexCoord4dARB(GLenum, GLdouble, GLdouble, GLdouble, GLdouble); extern void glMultiTexCoord4dvARB(GLenum, GLdouble *); extern void glMultiTexCoord4fARB(GLenum, GLfloat, GLfloat, GLfloat, GLfloat); extern void glMultiTexCoord4fvARB(GLenum, GLfloat *); extern void glMultiTexCoord4iARB(GLenum, GLint, GLint, GLint, GLint); extern void glMultiTexCoord4ivARB(GLenum, GLint *); extern void glMultiTexCoord4sARB(GLenum, GLshort, GLshort, GLshort, GLshort); extern void glMultiTexCoord4svARB(GLenum, GLshort *); __________________________________________________________ 7.2.2. GL/glx.h typedef struct __GLXcontextRec *GLXContext; typedef struct __GLXFBConfigRec *GLXFBConfig; typedef XID GLXContextID; typedef XID GLXPixmap; typedef XID GLXDrawable; typedef XID GLXPbuffer; typedef XID GLXWindow; extern XVisualInfo *glXChooseVisual(Display *, int, int *); extern void glXCopyContext(Display *, GLXContext, GLXContext, unsigned long int); extern GLXContext glXCreateContext(Display *, XVisualInfo *, GLXContext, int); extern GLXPixmap glXCreateGLXPixmap(Display *, XVisualInfo *, Pixmap); extern void glXDestroyContext(Display *, GLXContext); extern void glXDestroyGLXPixmap(Display *, GLXPixmap); extern void glXFreeContextEXT(Display *, GLXContext); extern char *glXGetClientString(Display *, int); extern int glXGetConfig(Display *, XVisualInfo *, int, int *); extern GLXContextID glXGetContextIDEXT(GLXContext); extern GLXContext glXGetCurrentContext(void); extern Display *glXGetCurrentDisplay(void); extern GLXDrawable glXGetCurrentDrawable(void); extern GLXContext glXImportContextEXT(Display *, GLXContextID); extern int glXIsDirect(Display *, GLXContext); extern int glXMakeCurrent(Display *, GLXDrawable, GLXContext); extern int glXQueryContextInfoEXT(Display *, GLXContext, int, int *); extern int glXQueryExtension(Display *, int *, int *); extern char *glXQueryExtensionsString(Display *, int); extern char *glXQueryServerString(Display *, int, int); extern int glXQueryVersion(Display *, int *, int *); extern void glXSwapBuffers(Display *, GLXDrawable); extern void glXUseXFont(Font, int, int, int); extern void glXWaitGL(void); extern void glXWaitX(void); extern void (*glXGetProcAddressARB(const GLubyte * procName)) (void); extern void glXGetSelectedEvent(Display *, GLXDrawable, unsigned long int *); extern void glXSelectEvent(Display *, GLXDrawable, unsigned long int); extern int glXQueryContext(Display *, GLXContext, int, int *); extern GLXDrawable glXGetCurrentReadDrawable(void); extern int glXMakeContextCurrent(Display *, GLXDrawable, GLXDrawable, GLXContext); extern GLXContext glXCreateNewContext(Display *, GLXFBConfig, int, GLXContext, int); extern void glXQueryDrawable(Display *, GLXDrawable, int, unsigned int *); extern void glXDestroyPbuffer(Display *, GLXPbuffer); extern GLXPbuffer glXCreatePbuffer(Display *, GLXFBConfig, int *); extern void glXDestroyPixmap(Display *, GLXPixmap); extern GLXPixmap glXCreatePixmap(Display *, GLXFBConfig, Pixmap, int *); extern void glXDestroyWindow(Display *, GLXWindow); extern GLXWindow glXCreateWindow(Display *, GLXFBConfig, Window, int *); extern XVisualInfo *glXGetVisualFromFBConfig(Display *, GLXFBConfig); extern int glXGetFBConfigAttrib(Display *, GLXFBConfig, int, int *); extern GLXFBConfig *glXChooseFBConfig(Display *, int, int *, int *); IV. PNG12 library Table of Contents 8. Libraries 8.1. Interfaces for libpng12 8.1.1. PNG Reference library 8.2. Data Definitions for libpng12 8.2.1. png.h 8.3. Interface Definitions for libpng12 png_access_version_number -- return version of the run-time library png_create_info_struct -- allocate and initialize a png_info structure png_create_read_struct -- allocate and initialize a png_struct structure for reading PNG file png_create_write_struct -- allocate and initialize a png_struct structure for writing PNG file png_destroy_read_struct -- free the memory associated with read png_struct png_destroy_write_struct -- free the memory associated with write png_struct png_error -- default function to handle fatal errors png_free -- free a pointer allocated by png_malloc() png_get_IHDR -- get PNG_IHDR chunk information from png_info structure png_get_PLTE -- get image palette information from png_info structure png_get_bKGD -- get background color for given image png_get_bit_depth -- return image bit_depth png_get_cHRM -- get CIE chromacities and referenced white point for given image png_get_channels -- get number of color channels in image png_get_color_type -- return image color type png_get_error_ptr -- return error_ptr for user-defined functions png_get_gAMA -- get the gamma value for given image png_get_hIST -- get the histogram for given image png_get_iCCP -- get the embedded ICC profile data for given image png_get_image_height -- return image height png_get_image_width -- return image width png_get_interlace_type -- returns interlace method png_get_io_ptr -- return pointer for user-defined I/O png_get_libpng_ver -- get the library version string png_get_oFFs -- get screen offsets for the given image png_get_pHYs -- get the physical resolution for given image png_get_progressive_ptr -- return pointer to user-defined push read functions png_get_rowbytes -- Return number of bytes for a row png_get_rows -- retrieve image data from png_info structure png_get_sBIT -- get number of significant bits for each color channel png_get_sRGB -- get the rendering intent for given image png_get_tIME -- get last modification time for the image png_get_tRNS -- get transparency data for images png_get_text -- get comments information from png_info structure png_get_valid -- determine if given chunk data is valid png_get_x_offset_pixels -- return x offset in pixels from oFFs chunk png_get_x_pixels_per_meter -- return horizontal pixel density per meter png_get_y_offset_pixels -- return y offset in pixels from oFFs chunk png_get_y_pixels_per_meter -- return vertical pixel density per meter png_init_io -- initialize input/output for the PNG file png_malloc -- allocate memory png_process_data -- read PNG file progressively png_progressive_combine_row -- combines current row data with processed row png_read_end -- read the end of PNG file png_read_image -- read the entire image into memory png_read_info -- read the PNG image information png_read_png -- read the entire PNG file png_read_row -- read a row of image data png_read_rows -- read multiple rows of image data png_read_update_info -- update png_info structure png_set_IHDR -- set the PNG_IHDR chunk information png_set_PLTE -- set color values for the palette png_set_bKGD -- set the background color for given image png_set_background -- set the background for given image png_set_bgr -- set pixel order to blue, green, red png_set_cHRM -- set CIE chromacities and referenced white point for given image png_set_compression_level -- set image compression level png_set_dither -- turn on dithering to 8-bit png_set_error_fn -- set user defined functions for error handling png_set_expand -- set expansion transformation png_set_filler -- add a filler byte to given image png_set_filter -- set filtering method png_set_gAMA -- set the gamma value for given image png_set_gamma -- transform the image from file gamma to screen gamma png_set_gray_1_2_4_to_8 -- set expansion transformation png_set_gray_to_rgb -- expand the grayscale image to 24-bit RGB png_set_hIST -- set the histogram of color palette png_set_iCCP -- set ICC component png_set_interlace_handling -- get the number of passes for image interlacing png_set_invert_mono -- reverse values for monochromicity png_set_oFFs -- set screen offsets for given image png_set_pHYs -- set physical resolution png_set_packing -- expand image to 1 pixel per byte for bit-depths 1,2 and 4 png_set_packswap -- swap the order of pixels for packed-pixel image png_set_palette_to_rgb -- set expansion transformation png_set_progressive_read_fn -- set progressive read callback functions png_set_read_fn -- set user-defined function for reading a PNG stream png_set_rgb_to_gray -- reduce 24-bit RGB to grayscale image png_set_rows -- put image data in png_info structure png_set_sBIT -- set number of significant bits for each channel png_set_sRGB -- set the rendering intent for given image png_set_shift -- shift pixel values to valid bit-depth png_set_sig_bytes -- number of bytes read from PNG file png_set_strip_16 -- strip 16 bit PNG file to 8 bit depth png_set_strip_alpha -- remove alpha channel on the given image png_set_swap -- swap byte-order for 16 bit depth files png_set_swap_alpha -- swap image data from RGBA to ARGB format png_set_tIME -- set last modification time for the image png_set_tRNS -- set transparency values for images png_set_tRNS_to_alpha -- set expansion transformation png_set_text -- stores information for image comments png_set_write_fn -- set user-defined function for writing a PNG stream png_sig_cmp -- match the PNG signature png_warning -- default function to handle non-fatal errors png_write_chunk -- write a PNG chunk png_write_end -- write the end of a PNG file png_write_flush -- flush the current output buffers png_write_image -- write the given image data png_write_info -- write PNG information to file png_write_png -- write the entire PNG file png_write_row -- write a row of image data png_write_rows -- write multiple rows of image data __________________________________________________________ Chapter 8. Libraries 8.1. Interfaces for libpng12 Table 8-1 defines the library name and shared object name for the libpng12 library Table 8-1. libpng12 Definition Library: libpng12 SONAME: libpng12.so.0 The behavior of the interfaces in this library is specified by the following specifications: [LSB] This Specification __________________________________________________________ 8.1.1. PNG Reference library __________________________________________________________ 8.1.1.1. Interfaces for PNG Reference library An LSB conforming implementation shall provide the generic functions for PNG Reference library specified in Table 8-2, with the full mandatory functionality as described in the referenced underlying specification. Table 8-2. libpng12 - PNG Reference library Function Interfaces png_access_version_number [LSB] png_create_info_struct [LSB] png_create_read_struct [LSB] png_create_write_struct [LSB] png_destroy_read_struct [LSB] png_destroy_write_struct [LSB] png_error [LSB] png_free [LSB] png_get_IHDR [LSB] png_get_PLTE [LSB] png_get_bKGD [LSB] png_get_bit_depth [LSB] png_get_cHRM [LSB] png_get_channels [LSB] png_get_color_type [LSB] png_get_error_ptr [LSB] png_get_gAMA [LSB] png_get_hIST [LSB] png_get_iCCP [LSB] png_get_image_height [LSB] png_get_image_width [LSB] png_get_interlace_type [LSB] png_get_io_ptr [LSB] png_get_libpng_ver [LSB] png_get_oFFs [LSB] png_get_pHYs [LSB] png_get_progressive_ptr [LSB] png_get_rowbytes [LSB] png_get_rows [LSB] png_get_sBIT [LSB] png_get_sRGB [LSB] png_get_tIME [LSB] png_get_tRNS [LSB] png_get_text [LSB] png_get_valid [LSB] png_get_x_offset_pixels [LSB] png_get_x_pixels_per_meter [LSB] png_get_y_offset_pixels [LSB] png_get_y_pixels_per_meter [LSB] png_init_io [LSB] png_malloc [LSB] png_process_data [LSB] png_progressive_combine_row [LSB] png_read_end [LSB] png_read_image [LSB] png_read_info [LSB] png_read_png [LSB] png_read_row [LSB] png_read_rows [LSB] png_read_update_info [LSB] png_set_IHDR [LSB] png_set_PLTE [LSB] png_set_bKGD [LSB] png_set_background [LSB] png_set_bgr [LSB] png_set_cHRM [LSB] png_set_compression_level [LSB] png_set_dither [LSB] png_set_error_fn [LSB] png_set_expand [LSB] png_set_filler [LSB] png_set_filter [LSB] png_set_gAMA [LSB] png_set_gamma [LSB] png_set_gray_1_2_4_to_8 [LSB] png_set_gray_to_rgb [LSB] png_set_hIST [LSB] png_set_iCCP [LSB] png_set_interlace_handling [LSB] png_set_invert_mono [LSB] png_set_oFFs [LSB] png_set_pHYs [LSB] png_set_packing [LSB] png_set_packswap [LSB] png_set_palette_to_rgb [LSB] png_set_progressive_read_fn [LSB] png_set_read_fn [LSB] png_set_rgb_to_gray [LSB] png_set_rows [LSB] png_set_sBIT [LSB] png_set_sRGB [LSB] png_set_shift [LSB] png_set_sig_bytes [LSB] png_set_strip_16 [LSB] png_set_strip_alpha [LSB] png_set_swap [LSB] png_set_swap_alpha [LSB] png_set_tIME [LSB] png_set_tRNS [LSB] png_set_tRNS_to_alpha [LSB] png_set_text [LSB] png_set_write_fn [LSB] png_sig_cmp [LSB] png_warning [LSB] png_write_chunk [LSB] png_write_end [LSB] png_write_flush [LSB] png_write_image [LSB] png_write_info [LSB] png_write_png [LSB] png_write_row [LSB] png_write_rows [LSB] An LSB conforming implementation shall provide the generic data interfaces for PNG Reference library specified in Table 8-3, with the full mandatory functionality as described in the referenced underlying specification. Table 8-3. libpng12 - PNG Reference library Data Interfaces png_libpng_ver [LSB] __________________________________________________________ 8.2. Data Definitions for libpng12 This section defines global identifiers and their values that are associated with interfaces contained in libpng12. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 8.2.1. png.h #define FARDATA #define PNGAPI #define PNG_1_2_X #define PNG_ASSEMBLER_CODE_SUPPORTED #define PNG_EASY_ACCESS_SUPPORTED #define PNG_ERROR_NUMBERS_SUPPORTED #define PNG_FIXED_POINT_SUPPORTED #define PNG_FLOATING_POINT_SUPPORTED #define PNG_FREE_ME_SUPPORTED #define PNG_HANDLE_AS_UNKNOWN_SUPPORTED #define PNG_IMPEXP #define PNG_INFO_IMAGE_SUPPORTED #define PNG_MMX_CODE_SUPPORTED #define PNG_MNG_FEATURES_SUPPORTED #define PNG_NO_READ_iTXt #define PNG_NO_WRITE_iTXt #define PNG_PROGRESSIVE_READ_SUPPORTED #define PNG_READ_16_TO_8_SUPPORTED #define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED #define PNG_READ_BACKGROUND_SUPPORTED #define PNG_READ_BGR_SUPPORTED #define PNG_READ_COMPOSITE_NODIV_SUPPORTED #define PNG_READ_DITHER_SUPPORTED #define PNG_READ_EMPTY_PLTE_SUPPORTED #define PNG_READ_EXPAND_SUPPORTED #define PNG_READ_FILLER_SUPPORTED #define PNG_READ_GAMMA_SUPPORTED #define PNG_READ_GRAY_TO_RGB_SUPPORTED #define PNG_READ_INTERLACING_SUPPORTED #define PNG_READ_INVERT_ALPHA_SUPPORTED #define PNG_READ_INVERT_SUPPORTED #define PNG_READ_OPT_PLTE_SUPPORTED #define PNG_READ_PACKSWAP_SUPPORTED #define PNG_READ_PACK_SUPPORTED #define PNG_READ_RGB_TO_GRAY_SUPPORTED #define PNG_READ_SHIFT_SUPPORTED #define PNG_READ_STRIP_ALPHA_SUPPORTED #define PNG_READ_SUPPORTED #define PNG_READ_SWAP_ALPHA_SUPPORTED #define PNG_READ_SWAP_SUPPORTED #define PNG_READ_TEXT_SUPPORTED #define PNG_READ_TRANSFORMS_SUPPORTED #define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED #define PNG_READ_USER_CHUNKS_SUPPORTED #define PNG_READ_USER_TRANSFORM_SUPPORTED #define PNG_READ_bKGD_SUPPORTED #define PNG_READ_cHRM_SUPPORTED #define PNG_READ_gAMA_SUPPORTED #define PNG_READ_hIST_SUPPORTED #define PNG_READ_iCCP_SUPPORTED #define PNG_READ_oFFs_SUPPORTED #define PNG_READ_pCAL_SUPPORTED #define PNG_READ_pHYs_SUPPORTED #define PNG_READ_sBIT_SUPPORTED #define PNG_READ_sCAL_SUPPORTED #define PNG_READ_sPLT_SUPPORTED #define PNG_READ_sRGB_SUPPORTED #define PNG_READ_tEXt_SUPPORTED #define PNG_READ_tIME_SUPPORTED #define PNG_READ_tRNS_SUPPORTED #define PNG_READ_zTXt_SUPPORTED #define PNG_SETJMP_SUPPORTED #define PNG_SET_USER_LIMITS_SUPPORTED #define PNG_TEXT_SUPPORTED #define PNG_TIME_RFC1123_SUPPORTED #define PNG_UNKNOWN_CHUNKS_SUPPORTED #define PNG_USER_CHUNKS_SUPPORTED #define PNG_USER_MEM_SUPPORTED #define PNG_USER_TRANSFORM_PTR_SUPPORTED #define PNG_USE_GLOBAL_ARRAYS #define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED #define PNG_WRITE_BGR_SUPPORTED #define PNG_WRITE_EMPTY_PLTE_SUPPORTED #define PNG_WRITE_FILLER_SUPPORTED #define PNG_WRITE_FLUSH_SUPPORTED #define PNG_WRITE_INTERLACING_SUPPORTED #define PNG_WRITE_INVERT_ALPHA_SUPPORTED #define PNG_WRITE_INVERT_SUPPORTED #define PNG_WRITE_PACKSWAP_SUPPORTED #define PNG_WRITE_PACK_SUPPORTED #define PNG_WRITE_SHIFT_SUPPORTED #define PNG_WRITE_SUPPORTED #define PNG_WRITE_SWAP_ALPHA_SUPPORTED #define PNG_WRITE_SWAP_SUPPORTED #define PNG_WRITE_TEXT_SUPPORTED #define PNG_WRITE_TRANSFORMS_SUPPORTED #define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED #define PNG_WRITE_USER_TRANSFORM_SUPPORTED #define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED #define PNG_WRITE_bKGD_SUPPORTED #define PNG_WRITE_cHRM_SUPPORTED #define PNG_WRITE_gAMA_SUPPORTED #define PNG_WRITE_hIST_SUPPORTED #define PNG_WRITE_iCCP_SUPPORTED #define PNG_WRITE_oFFs_SUPPORTED #define PNG_WRITE_pCAL_SUPPORTED #define PNG_WRITE_pHYs_SUPPORTED #define PNG_WRITE_sBIT_SUPPORTED #define PNG_WRITE_sCAL_SUPPORTED #define PNG_WRITE_sPLT_SUPPORTED #define PNG_WRITE_sRGB_SUPPORTED #define PNG_WRITE_tEXt_SUPPORTED #define PNG_WRITE_tIME_SUPPORTED #define PNG_WRITE_tRNS_SUPPORTED #define PNG_WRITE_zTXt_SUPPORTED #define PNG_bKGD_SUPPORTED #define PNG_cHRM_SUPPORTED #define PNG_gAMA_SUPPORTED #define PNG_hIST_SUPPORTED #define PNG_iCCP_SUPPORTED #define PNG_oFFs_SUPPORTED #define PNG_pCAL_SUPPORTED #define PNG_pHYs_SUPPORTED #define PNG_sBIT_SUPPORTED #define PNG_sCAL_SUPPORTED #define PNG_sPLT_SUPPORTED #define PNG_sRGB_SUPPORTED #define PNG_tEXt_SUPPORTED #define PNG_tIME_SUPPORTED #define PNG_tRNS_SUPPORTED #define PNG_zTXt_SUPPORTED #define PNG_HEADER_VERSION_STRING " libpng version 1.2.8 - December 3, 2004 (header)\n" #define PNG_MMX_READ_FLAGS \ ( PNG_ASM_FLAG_MMX_READ_COMBINE_ROW | PNG_ASM_FLAG_MMX_READ_INTERLACE \ | PNG_ASM_FLAG_MMX_READ_FILTER_SUB | PNG_ASM_FLAG_MMX_READ_FILTER_UP | \ PNG_ASM_FLAG_MMX_READ_FILTER_AVG | PNG_ASM_FLAG_MMX_READ_FILTER_PAETH \ ) #define PNG_MMX_FLAGS \ ( PNG_ASM_FLAG_MMX_SUPPORT_COMPILED | PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU \ | PNG_MMX_READ_FLAGS | PNG_MMX_WRITE_FLAGS ) #define PNG_COLOR_TYPE_RGB_ALPHA \ (PNG_COLOR_MASK_COLOR | PNG_COLOR_MASK_ALPHA) #define PNG_COLOR_TYPE_PALETTE \ (PNG_COLOR_MASK_COLOR | PNG_COLOR_MASK_PALETTE) #define PNG_ALL_FILTERS \ (PNG_FILTER_NONE | PNG_FILTER_SUB | PNG_FILTER_UP | PNG_FILTER_AVG | \ PNG_FILTER_PAETH) #define png_info_init(info_ptr) \ png_info_init_3(&info_ptr, png_sizeof(png_info)); #define png_composite(composite,fg,alpha,bg) \ { png_uint_16 temp = (png_uint_16)((png_uint_16)(fg) * \ (png_uint_16)(alpha) + (png_uint_16)(bg)*(png_uint_16)(255 - \ (png_uint_16)(alpha)) + (png_uint_16)128); (composite) = \ (png_byte)((temp + (temp >> 8)) >> 8); } #define png_composite_16(composite,fg,alpha,bg) \ { png_uint_32 temp = (png_uint_32)((png_uint_32)(fg) * \ (png_uint_32)(alpha) + (png_uint_32)(bg)*(png_uint_32)(65535L -\ (png_uint_32)(alpha)) + (png_uint_32)32768L); (composite) = \ (png_uint_16)((temp + (temp >> 16)) >> 16); } #define PNG_MMX_WRITE_FLAGS ( 0 ) #define PNG_SIZE_MAX ((png_size_t)(-1)) #define PNG_UINT_32_MAX ((png_uint_32)(-1)) #define PNG_UINT_31_MAX ((png_uint_32)0x7fffffffL) #define int_p_NULL (int *)NULL #define png_bytep_NULL (png_bytep)NULL #define png_bytepp_NULL (png_bytepp)NULL #define PNG_COLOR_TYPE_GRAY_ALPHA (PNG_COLOR_MASK_ALPHA) #define PNG_COLOR_TYPE_RGB (PNG_COLOR_MASK_COLOR) #define png_doublep_NULL (png_doublep)NULL #define png_error_ptr_NULL (png_error_ptr)NULL #define png_flush_ptr_NULL (png_flush_ptr)NULL #define png_infopp_NULL (png_infopp)NULL #define png_rw_ptr_NULL (png_rw_ptr)NULL #define png_structp_NULL (png_structp)NULL #define png_uint_16p_NULL (png_uint_16p)NULL #define png_voidp_NULL (png_voidp)NULL #define CVT_PTR(ptr) (ptr) #define CVT_PTR_NOCHECK(ptr) (ptr) #define PNG_TEXT_COMPRESSION_NONE -1 #define PNG_TEXT_COMPRESSION_zTXt_WR -2 #define PNG_TEXT_COMPRESSION_NONE_WR -3 #define PNG_BACKGROUND_GAMMA_UNKNOWN 0 #define PNG_COLOR_TYPE_GRAY 0 #define PNG_COMPRESSION_TYPE_BASE 0 #define PNG_CRC_DEFAULT 0 #define PNG_EQUATION_LINEAR 0 #define PNG_FILLER_BEFORE 0 #define PNG_FILTER_HEURISTIC_DEFAULT 0 #define PNG_FILTER_TYPE_BASE 0 #define PNG_FILTER_VALUE_NONE 0 #define PNG_HANDLE_CHUNK_AS_DEFAULT 0 #define PNG_INTERLACE_NONE 0 #define PNG_LIBPNG_VER_BUILD 0 #define PNG_LIBPNG_VER_SONUM 0 #define PNG_OFFSET_PIXEL 0 #define PNG_RESOLUTION_UNKNOWN 0 #define PNG_SCALE_UNKNOWN 0 #define PNG_TEXT_COMPRESSION_zTXt 0 #define PNG_sRGB_INTENT_PERCEPTUAL 0 #define PNG_NO_FILTERS 0x00 #define PNG_TRANSFORM_IDENTITY 0x0000 #define PNG_INFO_gAMA 0x0001 #define PNG_TRANSFORM_STRIP_16 0x0001 #define PNG_INFO_sBIT 0x0002 #define PNG_TRANSFORM_STRIP_ALPHA 0x0002 #define PNG_INFO_cHRM 0x0004 #define PNG_TRANSFORM_PACKING 0x0004 #define PNG_FREE_HIST 0x0008 #define PNG_INFO_PLTE 0x0008 #define PNG_TRANSFORM_PACKSWAP 0x0008 #define PNG_FREE_ICCP 0x0010 #define PNG_INFO_tRNS 0x0010 #define PNG_TRANSFORM_EXPAND 0x0010 #define PNG_FREE_SPLT 0x0020 #define PNG_INFO_bKGD 0x0020 #define PNG_TRANSFORM_INVERT_MONO 0x0020 #define PNG_FREE_ROWS 0x0040 #define PNG_INFO_hIST 0x0040 #define PNG_TRANSFORM_SHIFT 0x0040 #define PNG_FREE_PCAL 0x0080 #define PNG_INFO_pHYs 0x0080 #define PNG_TRANSFORM_BGR 0x0080 #define PNG_ASM_FLAG_MMX_SUPPORT_COMPILED 0x01 #define PNG_FLAG_MNG_EMPTY_PLTE 0x01 #define PNG_FREE_SCAL 0x0100 #define PNG_INFO_oFFs 0x0100 #define PNG_TRANSFORM_SWAP_ALPHA 0x0100 #define PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU 0x02 #define PNG_FREE_UNKN 0x0200 #define PNG_INFO_tIME 0x0200 #define PNG_TRANSFORM_SWAP_ENDIAN 0x0200 #define PNG_ASM_FLAG_MMX_READ_COMBINE_ROW 0x04 #define PNG_FLAG_MNG_FILTER_64 0x04 #define PNG_FREE_LIST 0x0400 #define PNG_INFO_pCAL 0x0400 #define PNG_TRANSFORM_INVERT_ALPHA 0x0400 #define PNG_ALL_MNG_FEATURES 0x05 #define PNG_ASM_FLAG_MMX_READ_INTERLACE 0x08 #define PNG_FILTER_NONE 0x08 #define PNG_INFO_sRGB 0x0800 #define PNG_TRANSFORM_STRIP_FILLER 0x0800 #define PNG_ASM_FLAG_MMX_READ_FILTER_SUB 0x10 #define PNG_FILTER_SUB 0x10 #define PNG_FREE_PLTE 0x1000 #define PNG_INFO_iCCP 0x1000 #define PNG_ASM_FLAG_MMX_READ_FILTER_UP 0x20 #define PNG_FILTER_UP 0x20 #define PNG_FREE_TRNS 0x2000 #define PNG_INFO_sPLT 0x2000 #define PNG_ASM_FLAG_MMX_READ_FILTER_AVG 0x40 #define PNG_FILTER_AVG 0x40 #define PNG_FREE_TEXT 0x4000 #define PNG_INFO_sCAL 0x4000 #define PNG_FREE_MUL 0x4220 #define PNG_FREE_ALL 0x7fff #define PNG_ASM_FLAG_MMX_READ_FILTER_PAETH 0x80 #define PNG_FILTER_PAETH 0x80 #define PNG_ASM_FLAGS_INITIALIZED 0x80000000 #define PNG_INFO_IDAT 0x8000L #define PNG_BACKGROUND_GAMMA_SCREEN 1 #define PNG_COLOR_MASK_PALETTE 1 #define PNG_CRC_ERROR_QUIT 1 #define PNG_DESTROY_WILL_FREE_DATA 1 #define PNG_EQUATION_BASE_E 1 #define PNG_FILLER_AFTER 1 #define PNG_FILTER_HEURISTIC_UNWEIGHTED 1 #define PNG_FILTER_VALUE_SUB 1 #define PNG_HANDLE_CHUNK_NEVER 1 #define PNG_INTERLACE_ADAM7 1 #define PNG_ITXT_COMPRESSION_NONE 1 #define PNG_LIBPNG_BUILD_ALPHA 1 #define PNG_LIBPNG_VER_MAJOR 1 #define PNG_OFFSET_MICROMETER 1 #define PNG_RESOLUTION_METER 1 #define PNG_SCALE_METER 1 #define PNG_SELECT_READ 1 #define PNG_SET_WILL_FREE_DATA 1 #define PNG_sRGB_INTENT_RELATIVE 1 #define PNG_LIBPNG_VER_STRING "1.2.8" #define PNG_USER_HEIGHT_MAX 1000000L #define PNG_USER_WIDTH_MAX 1000000L #define PNG_LIBPNG_VER 10208 #define PNG_LIBPNG_VER_DLLNUM 13 #define PNG_LIBPNG_BUILD_PRIVATE 16 #define PNG_BACKGROUND_GAMMA_FILE 2 #define PNG_COLOR_MASK_COLOR 2 #define PNG_CRC_WARN_DISCARD 2 #define PNG_EQUATION_ARBITRARY 2 #define PNG_FILTER_HEURISTIC_WEIGHTED 2 #define PNG_FILTER_VALUE_UP 2 #define PNG_HANDLE_CHUNK_IF_SAFE 2 #define PNG_INTERLACE_LAST 2 #define PNG_ITXT_COMPRESSION_zTXt 2 #define PNG_LIBPNG_BUILD_BETA 2 #define PNG_LIBPNG_VER_MINOR 2 #define PNG_OFFSET_LAST 2 #define PNG_RESOLUTION_LAST 2 #define PNG_SCALE_RADIAN 2 #define PNG_SELECT_WRITE 2 #define PNG_USER_WILL_FREE_DATA 2 #define PNG_sRGB_INTENT_SATURATION 2 #define PNG_MAX_PALETTE_LENGTH 256 #define PNG_BACKGROUND_GAMMA_UNIQUE 3 #define PNG_CRC_WARN_USE 3 #define PNG_EQUATION_HYPERBOLIC 3 #define PNG_FILTER_HEURISTIC_LAST 3 #define PNG_FILTER_VALUE_AVG 3 #define PNG_HANDLE_CHUNK_ALWAYS 3 #define PNG_LIBPNG_BUILD_RC 3 #define PNG_SCALE_LAST 3 #define PNG_TEXT_COMPRESSION_LAST 3 #define PNG_sRGB_INTENT_ABSOLUTE 3 #define PNG_LIBPNG_BUILD_SPECIAL 32 #define PNG_COLOR_MASK_ALPHA 4 #define PNG_CRC_QUIET_USE 4 #define PNG_EQUATION_LAST 4 #define PNG_FILTER_VALUE_PAETH 4 #define PNG_LIBPNG_BUILD_STABLE 4 #define PNG_sRGB_INTENT_LAST 4 #define PNG_CRC_NO_CHANGE 5 #define PNG_FILTER_VALUE_LAST 5 #define PNG_INTRAPIXEL_DIFFERENCING 64 #define PNG_LIBPNG_BUILD_RELEASE_STATUS_MASK 7 #define PNG_KEYWORD_MAX_LENGTH 79 #define PNG_LIBPNG_BUILD_PATCH 8 #define PNG_LIBPNG_VER_RELEASE 8 #define PNG_ZBUF_SIZE 8192 #define PNG_ABORT() abort() #define PNG_CONST const #define PNG_EXPORT_VAR(type) extern PNG_IMPEXP type #define png_memcmp memcmp #define png_memcpy memcpy #define png_memset memset #define PNGARG(arglist) OF(arglist) #define PNG_COLOR_TYPE_GA PNG_COLOR_TYPE_GRAY_ALPHA #define PNG_COLOR_TYPE_RGBA PNG_COLOR_TYPE_RGB_ALPHA #define PNG_COMPRESSION_TYPE_DEFAULT PNG_COMPRESSION_TYPE_BASE #define PNG_FILTER_TYPE_DEFAULT PNG_FILTER_TYPE_BASE #define PNG_EXPORT(type,symbol) PNG_IMPEXP type PNGAPI symbol #define PNG_LIBPNG_BUILD_TYPE PNG_LIBPNG_BUILD_BASE_TYPE #define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_STABLE #define PNG_MAX_UINT PNG_UINT_31_MAX #define png_sizeof(x) sizeof (x) #define png_strcpy strcpy #define png_strlen strlen #define png_strncpy strncpy typedef struct png_struct_def png_struct; typedef png_struct *png_structp; typedef struct png_info_struct png_info; typedef png_info *png_infop; typedef void *png_voidp; typedef void (*png_progressive_info_ptr) (png_structp, png_infop); typedef unsigned char png_byte; typedef png_byte *png_bytep; typedef unsigned long int png_uint_32; typedef void (*png_progressive_row_ptr) (png_structp, png_bytep, png_uint_32, int); typedef void (*png_progressive_end_ptr) (png_structp, png_infop); typedef struct png_color_8_struct { png_byte red; png_byte green; png_byte blue; png_byte gray; png_byte alpha; } png_color_8; typedef png_color_8 *png_color_8p; typedef long int png_int_32; typedef char *png_charp; typedef size_t png_size_t; typedef struct png_text_struct { int compression; png_charp key; png_charp text; png_size_t text_length; } png_text; typedef png_text *png_textp; typedef png_byte **png_bytepp; typedef unsigned short png_uint_16; typedef struct png_color_16_struct { png_byte index; png_uint_16 red; png_uint_16 green; png_uint_16 blue; png_uint_16 gray; } png_color_16; typedef png_color_16 *png_color_16p; typedef struct png_color_struct { png_byte red; png_byte green; png_byte blue; } png_color; typedef png_color *png_colorp; typedef const char *png_const_charp; typedef void (*png_error_ptr) (png_structp, png_const_charp); typedef void (*png_rw_ptr) (png_structp, png_bytep, png_size_t); typedef struct png_time_struct { png_uint_16 year; png_byte month; png_byte day; png_byte hour; png_byte minute; png_byte second; } png_time; typedef png_time *png_timep; typedef png_uint_16 *png_uint_16p; typedef void (*png_flush_ptr) (png_structp); typedef char **png_charpp; typedef png_struct **png_structpp; typedef png_info **png_infopp; typedef FILE *png_FILE_p; typedef struct png_row_info_struct { png_uint_32 width; png_uint_32 rowbytes; png_byte color_type; png_byte bit_depth; png_byte channels; png_byte pixel_depth; } png_row_info; typedef png_row_info *png_row_infop; typedef png_structp version_1_2_8; typedef png_uint_32 *png_uint_32p; typedef png_uint_16 **png_uint_16pp; typedef png_int_32 png_fixed_point; typedef double *png_doublep; typedef charf *png_zcharp; typedef png_fixed_point *png_fixed_point_p; typedef png_int_32 *png_int_32p; typedef z_stream *png_zstreamp; typedef short png_int_16; typedef png_int_16 *png_int_16p; typedef png_int_16 **png_int_16pp; typedef png_int_32 **png_int_32pp; typedef png_uint_32 **png_uint_32pp; typedef charf **png_zcharpp; typedef char ***png_charppp; typedef const char **png_const_charpp; typedef double **png_doublepp; typedef png_colorp *png_colorpp; typedef png_color_16p *png_color_16pp; typedef png_color_8p *png_color_8pp; typedef png_fixed_point **png_fixed_point_pp; typedef png_row_info **png_row_infopp; typedef png_textp *png_textpp; typedef png_timep *png_timepp; extern void png_set_gAMA(png_structp, png_infop, double); extern void png_set_progressive_read_fn(png_structp, png_voidp, png_progressive_info_ptr, png_progressive_row_ptr, png_progressive_end_ptr); extern void png_set_shift(png_structp, png_color_8p); extern png_byte png_get_interlace_type(png_structp, png_infop); extern void png_read_info(png_structp, png_infop); extern png_uint_32 png_get_image_height(png_structp, png_infop); extern png_int_32 png_get_y_offset_pixels(png_structp, png_infop); extern png_charp png_get_libpng_ver(png_structp); extern void png_set_packswap(png_structp); extern png_uint_32 png_get_sBIT(png_structp, png_infop, png_color_8p *); extern void png_process_data(png_structp, png_infop, png_bytep, png_size_t); extern png_uint_32 png_get_text(png_structp, png_infop, png_textp *, int *); extern void png_write_rows(png_structp, png_bytepp, png_uint_32); extern const char png_libpng_ver[]; extern png_uint_32 png_access_version_number(void); extern png_voidp png_get_progressive_ptr(png_structp); extern png_uint_32 png_get_rowbytes(png_structp, png_infop); extern void png_write_flush(png_structp); extern void png_set_tRNS(png_structp, png_infop, png_bytep, int, png_color_16p); extern png_uint_32 png_get_x_pixels_per_meter(png_structp, png_infop); extern png_int_32 png_get_x_offset_pixels(png_structp, png_infop); extern png_uint_32 png_get_sRGB(png_structp, png_infop, int *); extern png_byte png_get_color_type(png_structp, png_infop); extern png_uint_32 png_get_IHDR(png_structp, png_infop, png_uint_32 *, png_uint_32 *, int *, int *, int *, int*, int *); extern png_uint_32 png_get_PLTE(png_structp, png_infop, png_colorp *, int *); extern void png_set_filter(png_structp, int, int); extern png_uint_32 png_get_pHYs(png_structp, png_infop, png_uint_32 *, png_uint_32 *, int *); extern png_uint_32 png_get_image_width(png_structp, png_infop); extern void png_set_strip_16(png_structp); extern void png_set_bKGD(png_structp, png_infop, png_color_16p); extern png_uint_32 png_get_y_pixels_per_meter(png_structp, png_infop); extern void png_write_png(png_structp, png_infop, int, voidp); extern void png_set_error_fn(png_structp, png_voidp, png_error_ptr, png_error_ptr); extern void png_set_sBIT(png_structp, png_infop, png_color_8p); extern void png_error(png_structp, png_const_charp); extern void png_set_read_fn(png_structp, png_voidp, png_rw_ptr); extern int png_sig_cmp(png_bytep, png_size_t, png_size_t); extern png_uint_32 png_get_tIME(png_structp, png_infop, png_timep *); extern void png_set_pHYs(png_structp, png_infop, png_uint_32, png_uint_32, int); extern png_byte png_get_bit_depth(png_structp, png_infop); extern void png_free(png_structp, png_voidp); extern void png_set_rgb_to_gray(png_structp, int, double, double); extern void png_set_hIST(png_structp, png_infop, png_uint_16p); extern png_uint_32 png_get_cHRM(png_structp, png_infop, double *, double *, double *, double *, double *, double *, double *, double *); extern void png_set_filler(png_structp, png_uint_32, int); extern void png_set_text(png_structp, png_infop, png_textp, int); extern void png_set_cHRM(png_structp, png_infop, double, double, double, double, double, double, double, double); extern void png_set_gray_to_rgb(png_structp); extern png_uint_32 png_get_bKGD(png_structp, png_infop, png_color_16p *); extern void png_read_end(png_structp, png_infop); extern png_byte png_get_channels(png_structp, png_infop); extern void png_warning(png_structp, png_const_charp); extern void png_set_write_fn(png_structp, png_voidp, png_rw_ptr, png_flush_ptr); extern void png_set_tIME(png_structp, png_infop, png_timep); extern png_structp png_create_read_struct(png_const_charp, png_voidp, png_error_ptr, png_error_ptr); extern void png_read_update_info(png_structp, png_infop); extern png_infop png_create_info_struct(png_structp); extern png_uint_32 png_get_hIST(png_structp, png_infop, png_uint_16p *); extern void png_set_sRGB(png_structp, png_infop, int); extern png_uint_32 png_get_iCCP(png_structp, png_infop, png_charpp, int*, png_charpp, png_uint_32 *); extern png_uint_32 png_get_gAMA(png_structp, png_infop, double *); extern png_uint_32 png_get_valid(png_structp, png_infop, png_uint_32); extern void png_set_compression_level(png_structp, int); extern void png_set_packing(png_structp); extern void png_write_image(png_structp, png_bytepp); extern void png_write_end(png_structp, png_infop); extern int png_set_interlace_handling(png_structp); extern png_bytepp png_get_rows(png_structp, png_infop); extern void png_progressive_combine_row(png_structp, png_bytep, png_bytep); extern void png_set_bgr(png_structp); extern void png_set_dither(png_structp, png_colorp, int, int, png_uint_16p, int); extern void png_set_rows(png_structp, png_infop, png_bytepp); extern png_voidp png_malloc(png_structp, png_uint_32); extern void png_write_row(png_structp, png_bytep); extern void png_set_sig_bytes(png_structp, int); extern png_uint_32 png_get_tRNS(png_structp, png_infop, png_bytep *, int *, png_color_16p *); extern void png_write_chunk(png_structp, png_bytep, png_bytep, png_size_t); extern void png_write_info(png_structp, png_infop); extern void png_set_IHDR(png_structp, png_infop, png_uint_32, png_uint_32, int, int, int, int, int); extern void png_set_invert_mono(png_structp); extern png_structp png_create_write_struct(png_const_charp, png_voidp, png_error_ptr, png_error_ptr); extern void png_read_png(png_structp, png_infop, int, voidp); extern void png_read_rows(png_structp, png_bytepp, png_bytepp, png_uint_32); extern void png_read_row(png_structp, png_bytep, png_bytep); extern void png_destroy_write_struct(png_structpp, png_infopp); extern void png_set_swap_alpha(png_structp); extern void png_destroy_read_struct(png_structpp, png_infopp, png_infopp); extern png_voidp png_get_io_ptr(png_structp); extern png_uint_32 png_get_oFFs(png_structp, png_infop, png_int_32 *, png_int_32 *, int *); extern void png_set_strip_alpha(png_structp); extern void png_set_background(png_structp, png_color_16p, int, int, double); extern void png_set_iCCP(png_structp, png_infop, png_charp, int, png_charp, png_uint_32); extern void png_init_io(png_structp, png_FILE_p); extern void png_set_PLTE(png_structp, png_infop, png_colorp, int); extern png_voidp png_get_error_ptr(png_structp); extern void png_set_gamma(png_structp, double, double); extern void png_set_swap(png_structp); extern void png_read_image(png_structp, png_bytepp); extern void png_set_expand(png_structp); extern void png_set_oFFs(png_structp, png_infop, png_int_32, png_int_32, int); extern void png_set_tRNS_to_alpha(png_structp); extern void png_set_palette_to_rgb(png_structp); extern void png_set_gray_1_2_4_to_8(png_structp); __________________________________________________________ 8.3. Interface Definitions for libpng12 Table of Contents png_access_version_number -- return version of the run-time library png_create_info_struct -- allocate and initialize a png_info structure png_create_read_struct -- allocate and initialize a png_struct structure for reading PNG file png_create_write_struct -- allocate and initialize a png_struct structure for writing PNG file png_destroy_read_struct -- free the memory associated with read png_struct png_destroy_write_struct -- free the memory associated with write png_struct png_error -- default function to handle fatal errors png_free -- free a pointer allocated by png_malloc() png_get_IHDR -- get PNG_IHDR chunk information from png_info structure png_get_PLTE -- get image palette information from png_info structure png_get_bKGD -- get background color for given image png_get_bit_depth -- return image bit_depth png_get_cHRM -- get CIE chromacities and referenced white point for given image png_get_channels -- get number of color channels in image png_get_color_type -- return image color type png_get_error_ptr -- return error_ptr for user-defined functions png_get_gAMA -- get the gamma value for given image png_get_hIST -- get the histogram for given image png_get_iCCP -- get the embedded ICC profile data for given image png_get_image_height -- return image height png_get_image_width -- return image width png_get_interlace_type -- returns interlace method png_get_io_ptr -- return pointer for user-defined I/O png_get_libpng_ver -- get the library version string png_get_oFFs -- get screen offsets for the given image png_get_pHYs -- get the physical resolution for given image png_get_progressive_ptr -- return pointer to user-defined push read functions png_get_rowbytes -- Return number of bytes for a row png_get_rows -- retrieve image data from png_info structure png_get_sBIT -- get number of significant bits for each color channel png_get_sRGB -- get the rendering intent for given image png_get_tIME -- get last modification time for the image png_get_tRNS -- get transparency data for images png_get_text -- get comments information from png_info structure png_get_valid -- determine if given chunk data is valid png_get_x_offset_pixels -- return x offset in pixels from oFFs chunk png_get_x_pixels_per_meter -- return horizontal pixel density per meter png_get_y_offset_pixels -- return y offset in pixels from oFFs chunk png_get_y_pixels_per_meter -- return vertical pixel density per meter png_init_io -- initialize input/output for the PNG file png_malloc -- allocate memory png_process_data -- read PNG file progressively png_progressive_combine_row -- combines current row data with processed row png_read_end -- read the end of PNG file png_read_image -- read the entire image into memory png_read_info -- read the PNG image information png_read_png -- read the entire PNG file png_read_row -- read a row of image data png_read_rows -- read multiple rows of image data png_read_update_info -- update png_info structure png_set_IHDR -- set the PNG_IHDR chunk information png_set_PLTE -- set color values for the palette png_set_bKGD -- set the background color for given image png_set_background -- set the background for given image png_set_bgr -- set pixel order to blue, green, red png_set_cHRM -- set CIE chromacities and referenced white point for given image png_set_compression_level -- set image compression level png_set_dither -- turn on dithering to 8-bit png_set_error_fn -- set user defined functions for error handling png_set_expand -- set expansion transformation png_set_filler -- add a filler byte to given image png_set_filter -- set filtering method png_set_gAMA -- set the gamma value for given image png_set_gamma -- transform the image from file gamma to screen gamma png_set_gray_1_2_4_to_8 -- set expansion transformation png_set_gray_to_rgb -- expand the grayscale image to 24-bit RGB png_set_hIST -- set the histogram of color palette png_set_iCCP -- set ICC component png_set_interlace_handling -- get the number of passes for image interlacing png_set_invert_mono -- reverse values for monochromicity png_set_oFFs -- set screen offsets for given image png_set_pHYs -- set physical resolution png_set_packing -- expand image to 1 pixel per byte for bit-depths 1,2 and 4 png_set_packswap -- swap the order of pixels for packed-pixel image png_set_palette_to_rgb -- set expansion transformation png_set_progressive_read_fn -- set progressive read callback functions png_set_read_fn -- set user-defined function for reading a PNG stream png_set_rgb_to_gray -- reduce 24-bit RGB to grayscale image png_set_rows -- put image data in png_info structure png_set_sBIT -- set number of significant bits for each channel png_set_sRGB -- set the rendering intent for given image png_set_shift -- shift pixel values to valid bit-depth png_set_sig_bytes -- number of bytes read from PNG file png_set_strip_16 -- strip 16 bit PNG file to 8 bit depth png_set_strip_alpha -- remove alpha channel on the given image png_set_swap -- swap byte-order for 16 bit depth files png_set_swap_alpha -- swap image data from RGBA to ARGB format png_set_tIME -- set last modification time for the image png_set_tRNS -- set transparency values for images png_set_tRNS_to_alpha -- set expansion transformation png_set_text -- stores information for image comments png_set_write_fn -- set user-defined function for writing a PNG stream png_sig_cmp -- match the PNG signature png_warning -- default function to handle non-fatal errors png_write_chunk -- write a PNG chunk png_write_end -- write the end of a PNG file png_write_flush -- flush the current output buffers png_write_image -- write the given image data png_write_info -- write PNG information to file png_write_png -- write the entire PNG file png_write_row -- write a row of image data png_write_rows -- write multiple rows of image data The interfaces defined on the following pages are included in libpng12 and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard. Other interfaces listed in Section 8.1 shall behave as described in the referenced base document. png_access_version_number Name png_access_version_number -- return version of the run-time library Synopsis #include png_uint_32 png_access_version_number(void); Description png_access_version_number() returns version of the libpng12 library available at run-time. Return Value png_access_version_number() returns integer constructed from the major version, minor version with leading zero and leading number with leading zero. For example, the version number for version 1.2.8 is 10208. png_create_info_struct Name png_create_info_struct -- allocate and initialize a png_info structure Synopsis #include png_infop png_create_info_struct(png_structp png_ptr); Description png_create_info_struct() shall allocate and initialize a png_info structure. Return Value Returns the pointer to png_info structure. Returns NULL if it fails to create the structure. Errors png_create_info_struct() shall return NULL if the allocation fails. The application should check for the return value. png_create_read_struct Name png_create_read_struct -- allocate and initialize a png_struct structure for reading PNG file Synopsis #include png_structp png_create_read_struct(png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn); Description png_create_read_struct() shall allocate and initialize a png_struct structure. The function shall return NULL if the allocation fails. The application should check for the return value. For handling errors and warnings, the application can pass desired error handling routines as arguments to png_create_read_struct(). Otherwise, the default error handling uses stderr and longjmp. The error handling routine must NOT return to the calling routine. user_png_ver version string of the library. Must be PNG_LIBPNG_VER_STRING error_ptr user defined struct for error functions. error_fn user defined function for printing errors and aborting. warn_fn user defined function for warnings. Return Value Returns the pointer to png_struct structure. Returns NULL if it fails to create the structure. Errors png_create_read_struct() shall return NULL if the allocation fails. The application should check for the return value. png_create_write_struct Name png_create_write_struct -- allocate and initialize a png_struct structure for writing PNG file Synopsis #include png_structp png_create_write_struct(png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn); Description png_create_write_struct() shall allocate and initialize a png_struct structure. The function shall return NULL if the allocation fails. The application should check for the return value. user_png_ver version string of the library. Must be PNG_LIBPNG_VER_STRING error_ptr user defined struct for error functions. error_fn user defined function for printing errors and aborting. warn_fn user defined function for warnings. Return Value Returns the pointer to png_struct structure. Returns NULL if it fails to create the structure. png_destroy_read_struct Name png_destroy_read_struct -- free the memory associated with read png_struct Synopsis #include void png_destroy_read_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr); Description png_destroy_read_struct() frees the memory associated with the read png_struct struct that holds information from the given PNG file, the associated png_info struct for holding the image information and png_info struct for holding the information at end of the given PNG file. png_destroy_write_struct Name png_destroy_write_struct -- free the memory associated with write png_struct Synopsis #include void png_destroy_write_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr); Description png_destroy_write_struct() frees the memory associated with the write png_struct struct that holds information for writing the PNG file and the associated png_info struct for holding the image information. png_error Name png_error -- default function to handle fatal errors Synopsis #include void png_error(png_structp png_ptr, png_const_charp error_message); Description png_error() is the default error handling function for fatal errors. The default error handling functionality may be changed by using png_set_error_fn() to replace the error function at run-time. Return Value Errors png_free Name png_free -- free a pointer allocated by png_malloc() Synopsis #include void png_free(png_structp png_ptr, png_voidp ptr); Description png_free() shall free memory pointed to by "ptr" previously allocated by png_malloc(). png_get_IHDR Name png_get_IHDR -- get PNG_IHDR chunk information from png_info structure Synopsis #include png_uint_32 png_get_IHDR(png_structp png_ptr, png_infop info_ptr, png_uint_32 * width, png_uint_32 * height, int * bit_depth, int * color_type, int * interlace_method, int * compression_method, int * filter_method); Description png_get_IHDR() gets PNG_IHDR chunk type information from png_info structure. width holds the width of the image in pixels up to 2^31. height holds the height of the image in pixels up to 2^31. bit_depth holds the bit depth of one of the image channels. Valid values are 1, 2, 4, 8, 16 and also depend on the color_type. color_type describes which color/alpha channels are present. Supported color types shall include: PNG_COLOR_TYPE_GRAY (bit depths 1, 2, 4, 8, 16) PNG_COLOR_TYPE_GRAY_ALPHA (bit depths 8, 16) PNG_COLOR_TYPE_PALETTE (bit depths 1, 2, 4, 8) PNG_COLOR_TYPE_RGB (bit_depths 8, 16) PNG_COLOR_TYPE_RGB_ALPHA (bit_depths 8, 16) PNG_COLOR_MASK_PALETTE PNG_COLOR_MASK_COLOR PNG_COLOR_MASK_ALPHA filter_method holds the filter method. If this argument is NULL, the filter method will not be retrieved. Valid values after retrieval are PNG_FILTER_TYPE_BASE PNG_INTRAPIXEL_DIFFERENCING compression_method holds the compression method. If this argument is NULL, the compression method will not be retrieved. Valid values after retrieval are PNG_COMPRESSION_TYPE_BASE interlace_method holds the interlace method. If this argument is NULL, the interlacing method will not be retrieved. Valid values after retrieval are PNG_INTERLACE_NONE PNG_INTERLACE_ADAM7 Return Value On success, png_get_HDR() shall return 1. Otherwise, png_get_IHDR() shall return 0. png_get_PLTE Name png_get_PLTE -- get image palette information from png_info structure Synopsis #include png_uint_32 png_get_PLTE(png_structp png_ptr, png_infop info_ptr, png_colorp * palette, int * num_palette); Description png_get_PLTE() gets palette information from png_info structure. "palette" holds an array of color values with "num_palette" entries. Return Value On successful retrieval of palette information, png_get_PLTE() shall return PNG_INFO_PLTE. Otherwise, png_get_PLTE() shall return 0. png_get_bKGD Name png_get_bKGD -- get background color for given image Synopsis #include png_uint_32 png_get_bKGD(png_structp png_ptr, png_infop info_ptr, png_color_16p * background); Description png_get_bKGD() shall return the background color to "background" if the validity flag for background is set. Return Value On success, png_get_bKGD() shall return PNG_INFO_bKGD. Otherwise, png_get_bKGD() shall return 0. png_get_bit_depth Name png_get_bit_depth -- return image bit_depth Synopsis #include png_byte png_get_bit_depth(png_structp png_ptr, png_infop info_ptr); Description Returns the image bit_depth. Return Value Returns 0 if png_ptr or info_ptr is NULL, bit_depth otherwise. png_get_cHRM Name png_get_cHRM -- get CIE chromacities and referenced white point for given image Synopsis #include png_uint_32 png_get_cHRM(png_structp png_ptr, png_infop info_ptr, double * white_x, double * white_y, double * red_x, double * red_y, double * green_x, double * green_y, double * blue_x, double * blue_y); Description png_get_cHRM() shall return the CIE x,y chromaticities of the red, green and blue display primaries used in the image and the referenced white point from the cHRM chunk in the image. Return Value On success, png_get_cHRM() shall return PNG_INFO_cHRM. Otherwise, the function shall return 0. png_get_channels Name png_get_channels -- get number of color channels in image Synopsis #include png_byte png_get_channels(png_structp png_ptr, png_infop info_ptr); Description png_get_channels() shall return the number of data channels per pixel for the color type of the image. The number of channels shall range from 1-4 depending on the color type as given below. 1 - PNG_COLOR_TYPE_GRAY or PNG_COLOR_TYPE_PALETTE 2 - PNG_COLOR_TYPE_GRAY_ALPHA 3 - PNG_COLOR_TYPE_RGB 4 - PNG_COLOR_TYPE_RGB_ALPHA or PNG_COLOR_TYPE_RGB+filler byte Return Value On success, png_get_channels() shall return the number of channels ranging from 1-4. Otherwise, png_get_channels shall return 0. png_get_color_type Name png_get_color_type -- return image color type Synopsis #include png_byte png_get_color_type(png_structp png_ptr, png_infop info_ptr); Description Returns the image color type. Return Value Returns 0 if png_ptr or info_ptr is NULL, color_type otherwise. png_get_error_ptr Name png_get_error_ptr -- return error_ptr for user-defined functions Synopsis #include png_voidp png_get_error_ptr(png_structp png_ptr); Description png_get_error_ptr() returns the error_ptr associated with user-defined functions. Return Value Returns error_ptr png_get_gAMA Name png_get_gAMA -- get the gamma value for given image Synopsis #include png_uint_32 png_get_gAMA(png_structp png_ptr, png_infop info_ptr, double * file_gamma); Description Returns the gamma value of an image to "file_gamma" if the gAMA chunk information is valid for the image. Return Value PNG_INFO_gAMA - if png_ptr, info_ptr, file_gamma are not NULL and gAMA chunk information is valid 0 - otherwise. png_get_hIST Name png_get_hIST -- get the histogram for given image Synopsis #include png_uint_32 png_get_hIST(png_structp png_ptr, png_infop info_ptr, png_uint_16p * hist); Description Returns the histogram of an image to *hist if the hIST chunk information is valid for the image. Return Value PNG_INFO_hIST - if png_ptr, info_ptr, hist are not NULL and hIST chunk information is valid 0 - otherwise. png_get_iCCP Name png_get_iCCP -- get the embedded ICC profile data for given image Synopsis #include png_uint_32 png_get_iCCP(png_structp png_ptr, png_infop info_ptr, png_charpp name, int * compression_type, png_charpp profile, png_uint_32 * proflen); Description png_get_iCCP() shall return the embedded ICC profile data in iCCP chunk. "name" shall contain the profile name, *compression_type shall contain the compression type, profile shall contain teh International Color Consortium color profile data and *proflen shall contain the length of the profile data in bytes. *compression_type must always be set to PNG_COMPRESSION_TYPE_BASE. Return Value On success, png_get_iCCP() shall return PNG_INFO_iCCP. Otherwise, the function shall return 0. png_get_image_height Name png_get_image_height -- return image height Synopsis #include png_uint_32 png_get_image_height(png_structp png_ptr, png_infop info_ptr); Description png_get_image_height() returns the image height in pixels. Return Value Returns 0 if png_ptr or info_ptr is NULL, image_height otherwise. png_get_image_width Name png_get_image_width -- return image width Synopsis #include png_uint_32 png_get_image_width(png_structp png_ptr, png_infop info_ptr); Description png_get_image_width() returns the image width in pixels. Return Value Returns 0 if png_ptr or info_ptr is NULL, image_width otherwise. png_get_interlace_type Name png_get_interlace_type -- returns interlace method Synopsis #include png_byte png_get_interlace_type(png_structp png_ptr, png_infop info_ptr); Description png_get_interlace_type() returns the interlace method used for the image. Return Value Valid values are PNG_INTERLACE_NONE, PNG_INTERLACE_ADAM7. Returns 0 if png_ptr or info_ptr is NULL. png_get_io_ptr Name png_get_io_ptr -- return pointer for user-defined I/O Synopsis #include png_voidp png_get_io_ptr(png_structp png_ptr); Description Returns the pointer associated with user-defined input-output functions. png_get_libpng_ver Name png_get_libpng_ver -- get the library version string Synopsis #include png_charp png_get_libpng_ver(png_structp png_ptr); Description png_get_libpng_ver() shall return the library version as a short string in the format "1.0.0" through "99.99.99zz". png_get_oFFs Name png_get_oFFs -- get screen offsets for the given image Synopsis #include png_uint_32 png_get_oFFs(png_structp png_ptr, png_infop info_ptr, png_int_32 * x_offset, png_int_32 * y_offset, int * unit_type); Description png_get_oFFs() shall read the positive offset from the left edge of the screen from info_ptr to x_offset and the positive offset from the top edge of the screen to y_offset. The unit type shall be returned in unit_type, which can take the following values PNG_OFFSET_PIXEL PNG_OFFSET_MICROMETER Return Value On success, png_get_oFFs() shall return PNG_INFO_oFFs. Otherwise, png_get_oFFs() shall return 0. png_get_pHYs Name png_get_pHYs -- get the physical resolution for given image Synopsis #include png_uint_32 png_get_pHYs(png_structp png_ptr, png_infop info_ptr, png_uint_32 * res_x, png_uint_32 * res_y, int * unit_type); Description png_get_pHYs() shall return the physical pixel resolution of the image and the unit of resolution. Upon success, *res_x shall contain the horizontal resolution and *res_y shall contain the vertical resolution in pixels per unit. *unit_type will be set to PNG_RESOLUTION_METER if the resolution is expressed in pixels per meter. Otherwise *unit_type will be PNG_RESOLUTION_UNKNOWN. Return Value PNG_INFO_pHYs - on success 0 - otherwise. png_get_progressive_ptr Name png_get_progressive_ptr -- return pointer to user-defined push read functions Synopsis #include png_voidp png_get_progressive_ptr(png_structp png_ptr); Description Returns the pointer to user-defined structure containing information about the callback functions. png_get_rowbytes Name png_get_rowbytes -- Return number of bytes for a row Synopsis #include png_uint_32 png_get_rowbytes(png_structp png_ptr, png_infop info_ptr); Description png_get_rowbytes() returns the number of bytes needed to hold a transformed row of an image. Return Value Returns 0 if png_ptr or info_ptr is NULL, number of bytes otherwise. png_get_rows Name png_get_rows -- retrieve image data from png_info structure Synopsis #include png_bytepp png_get_rows(png_structp png_ptr, png_infop info_ptr); Description png_get_rows() shall retrieve rows of image data from the info_ptr structure in an array of pointers to the pixel data for each row. Return Value On success, png_get_rows() shall return an array of pointers to the pixel data for each row of the image. png_get_sBIT Name png_get_sBIT -- get number of significant bits for each color channel Synopsis #include png_uint_32 png_get_sBIT(png_structp png_ptr, png_infop info_ptr, png_color_8p * sig_bit); Description png_get_sBIT() shall return the number of significant bit for each of the gray, red, blue and green color channels. Return Value On success, png_get_sBIT() shall return PNG_INFO_sBIT. Otherwise, png_get_sBIT() shall return 0. png_get_sRGB Name png_get_sRGB -- get the rendering intent for given image Synopsis #include png_uint_32 png_get_sRGB(png_structp png_ptr, png_infop info_ptr, int * srgb_intent); Description png_get_sRGB() shall return the rendering intent of an image to *srgb_intent if the sRGB chunk information is valid for the image. Return Value PNG_INFO_sRGB - if png_ptr, info_ptr, srgb_intent are not NULL and sRGB chunk information is valid 0 - otherwise. png_get_tIME Name png_get_tIME -- get last modification time for the image Synopsis #include png_uint_32 png_get_tIME(png_structp png_ptr, png_infop info_ptr, png_timep * mod_time); Description png_get_sBIT() shall return the time of last modification of the image if the tIME information is valid for the image. Return Value PNG_INFO_tIME - if png_ptr, info_ptr, mod_time are not NULL and tIME information is valid 0 - otherwise. png_get_tRNS Name png_get_tRNS -- get transparency data for images Synopsis #include png_uint_32 png_get_tRNS(png_structp png_ptr, png_infop info_ptr, png_bytep * trans, int * num_trans, png_color_16p * trans_values); Description png_get_tRNS() shall obtain the transparency data for paletted images and image types that don't need a full alpha channel from info_ptr. For a paletted image, the function retrieves the transparency values stored in the same order as the palette colors, starting from index 0. For non-paletted images, the function retrieves the single color value which is treated as fully transparent. If the transparency information is valid, i.e. PNG_INFO_tRNS bit is set for info_ptr->valid: *trans shall be set to the transparency values for a paletted image. Values for the data shall be in range [0,255], ranging from fully transparent to fully opaque, respectively. *num_trans shall be set to the number of transparency values *trans_values shall be set to the single color value specified for non-paletted images. Return Value Returns PNG_INFO_tRNS on successful return, 0 otherwise. png_get_text Name png_get_text -- get comments information from png_info structure Synopsis #include png_uint_32 png_get_text(png_structp png_ptr, png_infop info_ptr, png_textp * text_ptr, int * num_text); Description png_get_text() returns the text chunk information from the PNG stream in the array pointed to by text_ptr. It also returns the number of text chunks in num_text. text_ptr is an array of structure png_text whose members include: text_ptr[i].compression type of compression used on text. Valid values are: PNG_TEXT_COMPRESSION_NONE PNG_TEXT_COMPRESSION_zTXt PNG_ITXT_COMPRESSION_NONE PNG_ITXT_COMPRESSION_zTXt text_ptr[i].key keyword for comment. Must contain 1-79 characters. text_ptr[i].text text comment for current keyword. Maybe empty. text_ptr[i].text_length length of text string after decompression. 0 for iTXt. text_ptr[i].itxt_length length of iTXt string after decompression. 0 for tEXt/zTXt. text_ptr[i].lang language of comment. Empty string if language is unknown. text_ptr[i].lang_key keyword in UTF-8. Empty string if language is unknown. Return Value Returns 0 if png_ptr or info_ptr is NULL, returns number of text chunks otherwise. png_get_valid Name png_get_valid -- determine if given chunk data is valid Synopsis #include png_uint_32 png_get_valid(png_structp png_ptr, png_infop info_ptr, png_uint_32 flag); Description png_get_valid() shall obtain the validity of chunk data specified by the bits set in "flag". The following bits may be set in flag: PNG_INFO_gAMA PNG_INFO_sBIT PNG_INFO_cHRM PNG_INFO_PLTE PNG_INFO_tRNS PNG_INFO_bKGD PNG_INFO_hIST PNG_INFO_pHYs PNG_INFO_oFFs PNG_INFO_tIME PNG_INFO_pCAL PNG_INFO_sRGB PNG_INFO_iCCP PNG_INFO_sPLT PNG_INFO_sCAL PNG_INFO_IDAT Return Value On success, png_get_valid() shall return "flag" with the chunk bits set. Otherwise, png_get_valid() shall return 0. png_get_x_offset_pixels Name png_get_x_offset_pixels -- return x offset in pixels from oFFs chunk Synopsis #include png_int_32 png_get_x_offset_pixels(png_structp png_ptr, png_infop info_ptr); Description png_get_x_offset_pixels() shall obtain x offset in pixels for the image from its PNG_oFFs chunk data stored in info_ptr, if the unit for offset is pixels. Return Value On success, png_get_x_offset_pixels() shall return x offset in pixels. Otherwise png_get_x_offset_pixels() shall return 0. png_get_x_pixels_per_meter Name png_get_x_pixels_per_meter -- return horizontal pixel density per meter Synopsis #include png_uint_32 png_get_x_pixels_per_meter(png_structp png_ptr, png_infop info_ptr); Description png_get_x_pixels_per_meter() shall obtain the horizontal pixel density in pixels per meter from its PNG_pHYs chunk data stored in info_ptr, if the unit for resolution is pixels per meter. Return Value On success, png_get_x_pixels_per_meter() shall return horizontal pixel density in pixels per meter. Otherwise png_get_x_pixels_per_meter() shall return 0. png_get_y_offset_pixels Name png_get_y_offset_pixels -- return y offset in pixels from oFFs chunk Synopsis #include png_int_32 png_get_y_offset_pixels(png_structp png_ptr, png_infop info_ptr); Description png_get_y_offset_pixels() shall obtain y offset in pixels for the image from its PNG_oFFs chunk data stored in info_ptr, if the unit for offset is pixels. Return Value On success, png_get_y_offset_pixels() shall return y offset in pixels. Otherwise png_get_y_offset_pixels() shall return 0. png_get_y_pixels_per_meter Name png_get_y_pixels_per_meter -- return vertical pixel density per meter Synopsis #include png_uint_32 png_get_y_pixels_per_meter(png_structp png_ptr, png_infop info_ptr); Description png_get_y_pixels_per_meter() shall obtain the vertical pixel density in pixels per meter from its PNG_pHYs chunk data stored in info_ptr, if the unit for resolution is pixels per meter. Return Value On success, png_get_y_pixels_per_meter() shall return vertical pixel density in pixels per meter. Otherwise png_get_y_pixels_per_meter() shall return 0. png_init_io Name png_init_io -- initialize input/output for the PNG file Synopsis #include void png_init_io(png_structp png_ptr, png_FILE_p fp); Description Initialize the default input/output functions for the PNG file to standard C streams. To replace the default read and write functions, use png_set_read_fn() and png_set_write_fn() respectively. Return Value Errors png_malloc Name png_malloc -- allocate memory Synopsis #include png_voidp png_malloc(png_structp png_ptr, png_uint_32 size); Description png_malloc() shall return a pointer to allocated memory of the specified size. Return Value Pointer to the block of memory allocated. Errors Invokes error handling function if the system is out of memory and sets PNG_FLAG_MALLOC_NULL_MEM_OK in member flags of png_struct. png_process_data Name png_process_data -- read PNG file progressively Synopsis #include void png_process_data(png_structp png_ptr, png_infop info_ptr, png_bytep buffer, png_size_t length); Description png_process_data() shall process data progressively from the PNG stream using callback functions set within png_set_progressive_read_fn(). The data is passed in "buffer" and length of data to be processed is specified by "length". png_progressive_combine_row Name png_progressive_combine_row -- combines current row data with processed row Synopsis #include void png_progressive_combine_row(png_structp png_ptr, png_bytep old_row, png_bytep new_row); Description For non-NULL rows of interlaced images during progressive read, png_progressive_combine_row() shall combine the data for the current row with the previously processed row data. png_progressive_combine_row() shall return for NULL rows of interlaced images and memcpy rows for non-interlaced images. png_read_end Name png_read_end -- read the end of PNG file Synopsis #include void png_read_end(png_structp png_ptr, png_infop info_ptr); Description png_read_end() reads the end of a PNG file after reading the image data, including any comments or time information at the end of the file. The function shall not read past the end of the file. png_read_image Name png_read_image -- read the entire image into memory Synopsis #include void png_read_image(png_structp png_ptr, png_bytepp image); Description png_read_image() reads the entire image into memory at once. For each pass of an interlaced image, use png_read_rows() instead. png_read_info Name png_read_info -- read the PNG image information Synopsis #include void png_read_info(png_structp png_ptr, png_infop info_ptr); Description Reads the information before the actual image data from the PNG file. The function allows reading a file that already has the PNG signature bytes read from the stream. png_read_png Name png_read_png -- read the entire PNG file Synopsis #include void png_read_png(png_structp png_ptr, png_infop info_ptr, int transforms, png_voidp params); Description png_read_png() shall provide the high-level read operation. The function shall read the entire image into memory. The integer "transforms" shall contain the logical OR of a set of the following transformation flags: PNG_TRANSFORM_IDENTITY No transformation PNG_TRANSFORM_STRIP_16 Strip 16-bit samples to 8 bits PNG_TRANSFORM_STRIP_ALPHA Discard the alpha channel PNG_TRANSFORM_PACKING Expand 1, 2 and 4-bit samples to bytes PNG_TRANSFORM_PACKSWAP Change order of packed pixels to LSB first PNG_TRANSFORM_EXPAND Expand paletted images to RGB, grayscale to 8-bit images and tRNS chunks to alpha channels PNG_TRANSFORM_INVERT_MONO Invert monochrome images PNG_TRANSFORM_SHIFT Normalize pixels to the sBIT depth PNG_TRANSFORM_BGR Flip RGB to BGR, RGBA to BGRA PNG_TRANSFORM_SWAP_ALPHA Flip RGBA to ARGB or GA to AG PNG_TRANSFORM_INVERT_ALPHA Change alpha from opacity to transparency PNG_TRANSFORM_SWAP_ENDIAN Byte-swap 16-bit samples "params" is unused and must be set to NULL. png_read_row Name png_read_row -- read a row of image data Synopsis #include void png_read_row(png_structp png_ptr, png_bytep row, png_bytep display_row); Description png_read_row() reads a row of actual image data. "row" holds the image pixels as they are processed. If the image is displayed after each pass, "display_row" is used to display a blurred progressive image. "display_row" can be NULL if the progressive image is not required. png_read_rows Name png_read_rows -- read multiple rows of image data Synopsis #include void png_read_rows(png_structp png_ptr, png_bytepp row, png_bytepp display_row, png_uint_32 num_rows); Description Read "num_rows" rows of image data starting from "row". If the image is interlaced, the rows must contain the contents of the rows from the previous pass. If the image is displayed after each pass, "display_row" is used to display a blurred progressive image. "display_row" can be NULL if the progressive image is not required. png_read_update_info Name png_read_update_info -- update png_info structure Synopsis #include void png_read_update_info(png_structp png_ptr, png_infop info_ptr); Description png_read_update_info() updates the structure pointed to by info_ptr to reflect any transformations that have been requested. For example, rowbytes will be updated to handle expansion of an interlaced image with png_read_update_info(). png_set_IHDR Name png_set_IHDR -- set the PNG_IHDR chunk information Synopsis #include void png_set_IHDR(png_structp png_ptr, png_infop info_ptr, png_uint_32 width, png_uint_32 height, int bit_depth, int color_type, int interlace_type, int compression_type, int filter_type); Description png_set_IHDR() shall set image header information in info_ptr. width is the image width in pixels. height is the image height in pixels. bit_depth is the bit depth of the image. Valid values shall include 1, 2, 4, 8, 16 and shall also depend on the color type. color_type is the type of image. Supported color types shall include: PNG_COLOR_TYPE_GRAY (bit depths 1, 2, 4, 8, 16) PNG_COLOR_TYPE_GRAY_ALPHA (bit depths 8, 16) PNG_COLOR_TYPE_PALETTE (bit depths 1, 2, 4, 8) PNG_COLOR_TYPE_RGB (bit depths 8, 16) PNG_COLOR_TYPE_RGB_ALPHA (bit depths 8, 16) PNG_COLOR_MASK_PALETTE PNG_COLOR_MASK_COLOR PNG_COLOR_MASK_ALPHA interlace_type is the image interlace method. Supported values shall include: PNG_INTERLACE_NONE or PNG_INTERLACE_ADAM7 compression_type is the method used for image compression. The value must be PNG_COMPRESSION_TYPE_DEFAULT. filter_type is the method used for image filtering. The value must be PNG_FILTER_TYPE_DEFAULT. Errors png_set_IHDR() shall invoke error function if any of the arguments has an invalid value. png_set_PLTE Name png_set_PLTE -- set color values for the palette Synopsis #include void png_set_PLTE(png_structp png_ptr, png_infop info_ptr, png_colorp palette, int num_palette); Description png_set_PLTE() shall set the array of color values used as palette for image to "palette". The palette shall include "num_palette" entries. png_set_bKGD Name png_set_bKGD -- set the background color for given image Synopsis #include void png_set_bKGD(png_structp png_ptr, png_infop info_ptr, png_color_16p background); Description png_set_bKGD() shall set the background color of an image to "background" and sets bKGD chunk information to valid for the image. png_set_background Name png_set_background -- set the background for given image Synopsis #include void png_set_background(png_structp png_ptr, png_color_16p background_color, int background_gamma_code, int need_expand, double background_gamma); Description png_set_background() shall set the background of an image with alpha channel or simple transparency with the specified background color. If background_gamma_code is set to PNG_BACKGROUND_GAMMA_SCREEN, it indicates that the supplied background color is in the gamma space of the display, else if it is set to PNG_BACKGROUND_GAMMA_FILE, the color is in the gamma space of the file. If the background color is supplied at the original bit-depth for a grayscale image that is expanded to truecolor or to a higher bit-depth, need_expand must be set to 1, but if the background color is supplied at the expanded bit-depth, need_expand must be set to 0. Similarly for paletted images, if background color is supplied as a palette index, need_expand must be set to 1, else if background color is supplied as an RGB triplet, need_expand must be set to 0. png_set_bgr Name png_set_bgr -- set pixel order to blue, green, red Synopsis #include void png_set_bgr(png_structp png_ptr); Description png_set_bgr() shall set the pixel order to blue, green, red. png_set_cHRM Name png_set_cHRM -- set CIE chromacities and referenced white point for given image Synopsis #include void png_set_cHRM(png_structp png_ptr, png_infop info_ptr, double white_x, double white_y, double red_x, double red_y, double green_x, double green_y, double blue_x, double blue_y); Description png_set_cHRM() shall set the CIE x,y chromaticities of the red, green and blue display primaries for the image and the referenced white point. The values must range from 0 to 21474.83 both inclusive. Errors png_set_cHRM() shall report a non-fatal error and exit if any of the chormacity values lies outside the range 0 to 21474.83. png_set_compression_level Name png_set_compression_level -- set image compression level Synopsis #include void png_set_compression_level(png_structp png_ptr, int level); Description png_set_compression_level() shall set the compression level to "level". The valid values for "level" range from [0,9], corresponding directly to compression levels for zlib. The value 0 implies no compression and 9 implies maximal compression. Note: Tests have shown that zlib compression levels 3-6 usually perform as well as level 9 for PNG images, and do considerably fewer caclulations. png_set_dither Name png_set_dither -- turn on dithering to 8-bit Synopsis #include void png_set_dither(png_structp png_ptr, png_colorp palette, int num_palette, int maximum_colors, png_uint_16p histogram, int full_dither); Description png_set_dither() shall set transformation to dither file to 8-bit. For the given palette with num_palette number of colors, the number of colors in the palette shall be reduced to fit in "maximum_colors" if the palette is larger than maximum_colors. If supplied, the histogram is used to get better results of the reduced palette. For reducing the number of colors in palette, full_dither must be set to 0. If full_dither is set to 1, dithering cube shall be setup for RGB images to reduce the RGB file to a paletted file. png_set_error_fn Name png_set_error_fn -- set user defined functions for error handling Synopsis #include void png_set_error_fn(png_structp png_ptr, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warning_fn); Description png_set_error_fn() shall replace the default error handling and warning functions with user defined function error_fn for handling fatal errors and function warning_fn for handling non-fatal errors. The replacement functions must do a longjmp to the last setjmp location if setjmp/longjmp method of error handling is used. If error_fn or warning_fn is NULL, the default functions for error handling shall be used. png_set_expand Name png_set_expand -- set expansion transformation Synopsis #include void png_set_expand(png_structp png_ptr); Description png_set_expand() shall set transformation in png_ptr such that paletted images are expanded to RGB, grayscale images of bit-depth less than 8 are expanded to 8-bit images and tRNS chunks are expanded to alpha channels. png_set_filler Name png_set_filler -- add a filler byte to given image Synopsis #include void png_set_filler(png_structp png_ptr, png_uint_32 filler, int flags); Description png_set_filler() shall set transformations in png_ptr such that a filler byte is added when an 8-bit grayscale image or 24-bit RGB image is read and a filler byte is deleted when an 8-bit grayscale image or 24-bit RGB image is written. png_set_filter Name png_set_filter -- set filtering method Synopsis #include void png_set_filter(png_structp png_ptr, int method, int filters); Description png_set_filter() shall set the filtering method used for scan-line filtering. The only valid value for "method" is 0. "filters" is a bitmap for which the following bits may be set. PNG_NO_FILTERS PNG_FILTER_NONE PNG_FILTER_SUB PNG_FILTER_UP PNG_FILTER_AVG PNG_FILTER_PAETH PNG_ALL_FILTERS png_set_gAMA Name png_set_gAMA -- set the gamma value for given image Synopsis #include void png_set_gAMA(png_structp png_ptr, png_infop info_ptr, double file_gamma); Description Sets the gamma value of an image to "file_gamma" and sets gAMA chunk information to valid for the image. Errors png_set_gAMA() shall generate warning if file_gamma > 21474.83 or file_gamma = 0 png_set_gamma Name png_set_gamma -- transform the image from file gamma to screen gamma Synopsis #include void png_set_gamma(png_structp png_ptr, double screen_gamma, double file_gamma); Description png_set_gama() shall set the transformation for gamma correction of the PNG file based on the screen gamma i.e. the display exponent. The gamma transformation may be turned off later if no semitransparent entries are present in the tRNS array for palette images. png_set_gray_1_2_4_to_8 Name png_set_gray_1_2_4_to_8 -- set expansion transformation Synopsis #include void png_set_gray_1_2_4_to_8(png_structp png_ptr); Description png_set_gray_1_2_4_to_8() shall set transformation in png_ptr such that grayscale images of bit-depth less than 8 are expanded to 8-bit images. png_set_png_set_gray_1_2_4_to_8() is actually an alias for png_set_expand(). png_set_gray_to_rgb Name png_set_gray_to_rgb -- expand the grayscale image to 24-bit RGB Synopsis #include void png_set_gray_to_rgb(png_structp png_ptr); Description png_set_gray_to_rgb() shall set transformations such that the grayscale image is converted to 24-bit RGB. png_set_hIST Name png_set_hIST -- set the histogram of color palette Synopsis #include void png_set_hIST(png_structp png_ptr, png_infop info_ptr, png_uint_16p hist); Description png_set_hIST() shall set the histogram of palette to "hist". png_set_iCCP Name png_set_iCCP -- set ICC component Synopsis #include void png_set_iCCP(png_structp png_ptr, png_infop info_ptr, png_charp name, int compression_type, png_charp profile, png_uint_32 proflen); Description png_set_iCCP() shall set the ICC component information to info_ptr. The arguments used to describe the ICC profile information have been described below: name ICC profile name compression_type compression type used must be 0 profile profile data proflen length of profile data png_set_interlace_handling Name png_set_interlace_handling -- get the number of passes for image interlacing Synopsis #include int png_set_interlace_handling(png_structp png_ptr); Description png_set_interlace_handling() shall set the scheme to interlacing for writing an image and return the number of sub-images required to write the image. Return Value png_set_interlace_handling() shall return 7 if the image is interlaced, otherwise png_set_interlace_handling() shall return 1. png_set_invert_mono Name png_set_invert_mono -- reverse values for monochromicity Synopsis #include void png_set_invert_mono(png_structp png_ptr); Description png_set_invert_mono() shall set monochromicity value 0 to white and value 1 to black. png_set_oFFs Name png_set_oFFs -- set screen offsets for given image Synopsis #include void png_set_oFFs(png_structp png_ptr, png_infop info_ptr, png_int_32 offset_x, png_int_32 offset_y, int unit_type); Description png_set_oFFs() shall set the positive offset from the left edge of the screen to offset_x and the positive offset from the left edge of the screen to offset_y. The unit_type must be PNG_OFFSET_PIXEL if the offset is defined in pixels or PNG_OFFSET_MICROMETER if the offset is defined in microns. png_set_pHYs Name png_set_pHYs -- set physical resolution Synopsis #include void png_set_pHYs(png_structp png_ptr, png_infop info_ptr, png_uint_32 res_x, png_uint_32 res_y, int unit_type); Description png_set_pHYs() sets the physical resolution for the image in pixels per unit. The physical resolution in x direction is set to res_x and that in y direction is set to res_y. unit_type must be set to PNG_RESOLUTION_METER is the unit for resolution is pixels per unit, otherwise unit_type must be set to PNG_RESOLUTION_UNKNOWN. png_set_packing Name png_set_packing -- expand image to 1 pixel per byte for bit-depths 1,2 and 4 Synopsis #include void png_set_packing(png_structp png_ptr); Description png_set_packing() shall expand image to 1 pixel per byte for bit-depths 1, 2 and 4 without changing the order of the pixels. If png_set_packing() is not called, PNG files pack pixels of bit_depths 1, 2 and 4 into bytes as small as possible, for example, 8 pixels per byte for 1-bit files. png_set_packswap Name png_set_packswap -- swap the order of pixels for packed-pixel image Synopsis #include void png_set_packswap(png_structp png_ptr); Description png_set_swap() shall change the pixel packing order for each byte for packed-pixel images with bit-depths 1, 2 or 4. png_set_palette_to_rgb Name png_set_palette_to_rgb -- set expansion transformation Synopsis #include void png_set_palette_to_rgb(png_structp png_ptr); Description png_set_palette_to_rgb() shall set transformation in png_ptr such that paletted images are expanded to RGB. png_set_palette_to_rgb() is actually an alias for png_set_expand(). png_set_progressive_read_fn Name png_set_progressive_read_fn -- set progressive read callback functions Synopsis #include void png_set_progressive_read_fn(png_structp png_ptr, png_voidp user_ptr, png_progressive_info_ptr info_callback, png_progressive_row_ptr row_callback, png_progressive_end_ptr end_callback); Description png_set_progressive_read_fn() shall provide function callbacks for which shall be called for processing image data by png_process_data(). "info_callback" shall be called to process header information, "row_callback" shall be called when each row is completed and "end_callback" shall be called to process end of image information. png_set_progressive_read_fn() must be called even if all callback functions are NULL. The user-defined structure pointed to by "user_ptr" may be retrieved from inside the callbacks using function get_progressive_ptr(). png_set_read_fn Name png_set_read_fn -- set user-defined function for reading a PNG stream Synopsis #include void png_set_read_fn(png_structp png_ptr, png_voidp io_ptr, png_rw_ptr read_data_fn); Description png_set_read_fn() sets the read_data_fn as the input function for reading PNG files instead of using standard C I/O stream functions. png_ptr - pointer to input data structure png_struct io_ptr - pointer to user-defined structure containing information about the input functions. This value may be NULL. read_data_fn - pointer to new input function that shall take the following arguments: - a pointer to a png_struct - a pointer to a structure where input data can be stored - 32-bit unsigned int to indicate number of bytes to read The input function should invoke png_error() to handle any fatal errors and png_warning() to handle non-fatal errors. png_set_rgb_to_gray Name png_set_rgb_to_gray -- reduce 24-bit RGB to grayscale image Synopsis #include void png_set_rgb_to_gray(png_structp png_ptr); Description png_set_rgb_to_gray() shall set transformations such that the 24-bit RGB image is converted to grayscale. png_set_rows Name png_set_rows -- put image data in png_info structure Synopsis #include void png_set_rows(png_structp png_ptr, png_infop info_ptr, png_bytepp row_pointers); Description png_set_rows() shall put rows of image data into the info_ptr structure, where row_pointers is an array of pointers to the pixel data for each row. png_set_sBIT Name png_set_sBIT -- set number of significant bits for each channel Synopsis #include void png_set_sBIT(png_structp png_ptr, png_infop info_ptr, png_color_8p sig_bit); Description png_set_sBIT shall set the number of significant bits for each of gray, red, green and blue channels, whichever are appropriate for the given color type. png_set_sRGB Name png_set_sRGB -- set the rendering intent for given image Synopsis #include void png_set_sRGB(png_structp png_ptr, png_infop info_ptr, int srgb_intent); Description png_set_sRGB() shall set the rendering intent of an image as specified by srgb_intent and shall set the sRGB chunk information to valid for the image. The presence of sRGB chunk implies that the pixel data is in the sRGB color space. srgb_intent can take one of the following values PNG_sRGB_INTENT_SATURATION PNG_sRGB_INTENT_PERCEPTUAL PNG_sRGB_INTENT_ABSOLUTE PNG_sRGB_INTENT_RELATIVE png_set_shift Name png_set_shift -- shift pixel values to valid bit-depth Synopsis #include void png_set_shift(png_structp png_ptr, png_color_8p true_bits); Description If image data in a row buffer is stored in a bit depth other than those supported by PNG, png_set_shift() shall scale the values to a valid bit-depth defined by PNG format. For example, 3-bit data in range 0-7 is scaled to 4-bit PNG. png_set_sig_bytes Name png_set_sig_bytes -- number of bytes read from PNG file Synopsis #include void png_set_sig_bytes(png_structp png_ptr, int num_bytes); Description png_set_sig_bytes() shall store the number of bytes of the PNG file signature that have been read from the PNG stream. Errors png_set_sig_bytes() shall invoke error function if num_bytes > 8. png_set_strip_16 Name png_set_strip_16 -- strip 16 bit PNG file to 8 bit depth Synopsis #include void png_set_strip_16(png_structp png_ptr); Description png_set_strip_16() shall strip the pixels of a PNG stream with 16 bits per channel to 8 bits per channel. png_set_strip_alpha Name png_set_strip_alpha -- remove alpha channel on the given image Synopsis #include void png_set_strip_alpha(png_structp png_ptr); Description png_set_strip_alpha() shall set transformation on the image to remove the alpha channel. png_set_swap Name png_set_swap -- swap byte-order for 16 bit depth files Synopsis #include void png_set_swap(png_structp png_ptr); Description PNG files store 16-bit pixels in network byte order (big-endian, ie most significant bytes first). png_set_swap() shall switch the byte-order to little-endian (ie, least significant bits first). png_set_swap_alpha Name png_set_swap_alpha -- swap image data from RGBA to ARGB format Synopsis #include void png_set_swap_alpha(png_structp png_ptr); Description png_set_swap_alpha() shall swap data for an image with an alpha channel from RGBA format to ARGB format. png_set_tIME Name png_set_tIME -- set last modification time for the image Synopsis #include void png_set_tIME(png_structp png_ptr, png_infop info_ptr, png_timep mod_time); Description png_set_sBIT shall set the time of last modification of the image in info_ptr as specified by mod_time. png_set_tRNS Name png_set_tRNS -- set transparency values for images Synopsis #include void png_set_tRNS(png_structp png_ptr, png_infop info_ptr, png_bytep trans, int num_trans, png_color_16p trans_values); Description png_set_tRNS() shall set the transparency data for paletted images and image types that don't need a full alpha channel. For a paletted image, png_set_tRNS() shall set the array of transparency values for the palette colors to "trans". The number of transparency entries is given by "num_trans". For non-paletted images, png_set_tRNS() shall set the single color value or graylevel to "trans_values" png_set_tRNS_to_alpha Name png_set_tRNS_to_alpha -- set expansion transformation Synopsis #include void png_set_tRNS_to_alpha(png_structp png_ptr); Description png_set_tRNS_to_alpha() shall set transformation in png_ptr such that tRNS chunks are expanded to alpha channels. png_set_tRNS_to_alpha() is actually an alias for png_set_expand(). png_set_text Name png_set_text -- stores information for image comments Synopsis #include void png_set_text(png_structp png_ptr, png_infop info_ptr, png_textp text_ptr, int num_text); Description png_set_text() shall store information for image comments given in text_ptr to info_ptr. text_ptr is an array of size "num_text" of png_text structure whose member fields include: compression - type of compression used on text. Supported values are: PNG_TEXT_COMPRESSION_NONE PNG_TEXT_COMPRESSION_zTXt PNG_ITXT_COMPRESSION_NONE PNG_ITXT_COMPRESSION_zTXt key - keyword for comment. Must contain 1-79 characters. text - text comments for current keyword. Maybe NULL or empty. text_length - length of text string after decompression. Must be 0 for iTXt itxt_length - length of itxt string after decompression. Must be 0 for tEXt/zTXt lang - language of comment. May be NULL or empty if language is unknown. lang_key - translated keyword in UTF-8 coding. Maybe NULL or empty. png_set_write_fn Name png_set_write_fn -- set user-defined function for writing a PNG stream Synopsis #include void png_set_write_fn(png_structp png_ptr, png_voidp io_ptr, png_rw_ptr write_data_fn, png_flush_ptr output_flush_fn); Description png_set_write_fn() sets the write_data_fn as the output function for writing PNG files instead of using standard C I/O stream functions. png_ptr - pointer to output data structure png_struct io_ptr - pointer to user-defined structure containing information about the output functions. This value may be NULL. write_data_fn - pointer to new output function that shall take the following arguments: - a pointer to a png_struct - a pointer to a structure where output data can be stored - 32-bit unsigned int to indicate number of bytes to write The output function should invoke png_error() to handle any fatal errors and png_warning() to handle non-fatal errors. flush_data_fn - pointer to a new flush function that shall take a pointer to a png_struct as argument. This function shall flush any remaining data in buffers used by the output function. If the output function does not buffer output, a function prototype must still be supplied. png_sig_cmp Name png_sig_cmp -- match the PNG signature Synopsis #include int png_sig_cmp(png_bytep sig, png_size_t start, png_size_t num_to_check); Description png_sig_cmp() checks whether the given number of bytes match the PNG signature starting from the start position. The function shall return non-zero if num_to_check == 0 or start > 7. Return Value Zero - the given number of bytes starting from start position match the respective bytes of the PNG signature. Non-zero - the given number of bytes starting from start position do not match the respective bytes of the PNG signature or num_to_check == 0 or start > 7. png_warning Name png_warning -- default function to handle non-fatal errors Synopsis #include void png_warning(png_structp png_ptr, png_const_charp warning_message); Description png_warning() is the default function for handling non-fatal errors. The default function to handle warnings may be changed by using png_set_error_fn() to replace the warning function at run-time. png_write_chunk Name png_write_chunk -- write a PNG chunk Synopsis #include void png_write_chunk(png_structp png_ptr, png_bytep chunk_name, png_bytep data, png_size_t length); Description png_write_chunk() writes the start of a PNG chunk, the chunk data and the end of the chunk all at once. png_write_end Name png_write_end -- write the end of a PNG file Synopsis #include void png_write_end(png_structp png_ptr, png_infop info_ptr); Description png_write_end() writes the end of a PNG file to which the image data has already been written. The user may write time information or comments at the end of the PNG file. png_write_flush Name png_write_flush -- flush the current output buffers Synopsis #include void png_write_flush(png_structp png_ptr); Description png_write_flush() shall the current output buffers for any pending data. png_write_image Name png_write_image -- write the given image data Synopsis #include void png_write_image(png_structp png_ptr, png_bytepp image); Description Write the rows of given image data. If the image is not interlaced, the image shall be written in a single pass. png_write_info Name png_write_info -- write PNG information to file Synopsis #include void png_write_info(png_structp png_ptr, png_infop info_ptr); Description png_write_info() writes the PNG information in info_ptr to file. png_write_png Name png_write_png -- write the entire PNG file Synopsis #include void png_write_png(png_structp png_ptr, png_infop info_ptr, int transforms, png_voidp params); Description png_write_png() shall provide the high-level write operation. The function shall write the PNG stream if the entire image information is available in png_ptr. The integer "transforms" shall contain the logical OR of a set of the following transformation flags: PNG_TRANSFORM_IDENTITY No transformation PNG_TRANSFORM_PACKING Expand 1, 2 and 4-bit samples to bytes PNG_TRANSFORM_PACKSWAP Change order of packed pixels to LSB first PNG_TRANSFORM_INVERT_MONO Invert monochrome images PNG_TRANSFORM_SHIFT Normalize pixels to the sBIT depth PNG_TRANSFORM_BGR Flip RGB to BGR, RGBA to BGRA PNG_TRANSFORM_SWAP_ALPHA Flip RGBA to ARGB or GA to AG PNG_TRANSFORM_INVERT_ALPHA Change alpha from opacity to transparency PNG_TRANSFORM_SWAP_ENDIAN Byte-swap 16-bit samples PNG_TRANSFORM_STRIP_FILLER Strip off filler bytes "params" is unused and must be set to NULL. png_write_row Name png_write_row -- write a row of image data Synopsis #include void png_write_row(png_structp png_ptr, png_bytep row); Description Process and write a row of image data. The header information must have been written before the image data can be written. png_write_rows Name png_write_rows -- write multiple rows of image data Synopsis #include void png_write_rows(png_structp png_ptr, png_bytepp row, png_uint_32 num_rows); Description Process and write "num_rows" rows of image data starting from "row". V. JPEG library Table of Contents 9. Libraries 9.1. Interfaces for libjpeg 9.1.1. JPEG Reference library 9.2. Data Definitions for libjpeg 9.2.1. jpeglib.h 9.3. Interface Definitions for libjpeg jpeg_CreateCompress -- allocate and initialize a JPEG compression object jpeg_CreateDecompress -- allocate and initialize a JPEG decompression object jpeg_abort -- aborts the compression or decompression cycle jpeg_abort_compress -- abort processing of JPEG compression operation jpeg_abort_decompress -- abort processing of JPEG decompression operation jpeg_add_quant_table -- add a quantization table jpeg_alloc_huff_table -- allocate Huffman table jpeg_alloc_quant_table -- allocate quantization table jpeg_calc_output_dimensions -- compute output image dimensions jpeg_consume_input -- decode input data jpeg_copy_critical_parameters -- copy critical compression parameters from source decompression object jpeg_default_colorspace -- set default colorspace based on input image's color space jpeg_destroy -- deallocation of a JPEG object jpeg_destroy_compress -- deallocate a JPEG compression object jpeg_destroy_decompress -- deallocate a JPEG decompression object jpeg_finish_compress -- complete the compression cycle jpeg_finish_decompress -- complete decompression cycle jpeg_finish_output -- complete pass in buffered-image mode jpeg_has_multiple_scans -- test if input image has multiple scans jpeg_input_complete -- test for end-of-image jpeg_new_colormap -- switch to a new external colormap between output passes jpeg_quality_scaling -- convert quality scaling to percentage scaling factor jpeg_read_coefficients -- read the contents of JPEG file as DCT coefficients jpeg_read_header -- read start of JPEG datastream jpeg_read_raw_data -- read raw downsampled image data jpeg_read_scanlines -- read scanlines of data from JPEG decompressor jpeg_resync_to_restart -- resync if marker other than expected restart marker found jpeg_save_markers -- save the contents of special markers jpeg_set_colorspace -- set JPEG file's colorspace jpeg_set_defaults -- set compression parameters to default values jpeg_set_linear_quality -- construct JPEG quantization tables for indicated scale factor jpeg_set_marker_processor -- set processor method for COM or APPn markers jpeg_set_quality -- construct JPEG quantization tables for indicated quality jpeg_simple_progression -- generate scan script for writing progressive JPEG file jpeg_start_compress -- initialize a compression cycle jpeg_start_decompress -- initialize a decompression cycle jpeg_start_output -- initialize for a pass in buffered-image mode jpeg_std_error -- update error manager with error handling routines jpeg_stdio_dest -- Initialize state for output to stdio stream jpeg_stdio_src -- Initialize state for input from stdio stream jpeg_suppress_tables -- control quantization and Huffman table suppression jpeg_write_coefficients -- Compression initialization for writing raw-coefficient data jpeg_write_m_byte -- emit a byte of special marker data jpeg_write_m_header -- emit header for special marker jpeg_write_marker -- write special marker data jpeg_write_raw_data -- write raw downsampled image data jpeg_write_scanlines -- write scanlines of data to JPEG compressor jpeg_write_tables -- create a tables-only file __________________________________________________________ Chapter 9. Libraries 9.1. Interfaces for libjpeg Table 9-1 defines the library name and shared object name for the libjpeg library Table 9-1. libjpeg Definition Library: libjpeg SONAME: libjpeg.so.62 The behavior of the interfaces in this library is specified by the following specifications: [LSB] This Specification __________________________________________________________ 9.1.1. JPEG Reference library __________________________________________________________ 9.1.1.1. Interfaces for JPEG Reference library An LSB conforming implementation shall provide the generic functions for JPEG Reference library specified in Table 9-2, with the full mandatory functionality as described in the referenced underlying specification. Table 9-2. libjpeg - JPEG Reference library Function Interfaces jpeg_CreateCompress [LSB] jpeg_CreateDecompress [LSB] jpeg_abort [LSB] jpeg_abort_compress [LSB] jpeg_abort_decompress [LSB] jpeg_add_quant_table [LSB] jpeg_alloc_huff_table [LSB] jpeg_alloc_quant_table [LSB] jpeg_calc_output_dimensions [LSB] jpeg_consume_input [LSB] jpeg_copy_critical_parameters [LSB] jpeg_default_colorspace [LSB] jpeg_destroy [LSB] jpeg_destroy_compress [LSB] jpeg_destroy_decompress [LSB] jpeg_finish_compress [LSB] jpeg_finish_decompress [LSB] jpeg_finish_output [LSB] jpeg_has_multiple_scans [LSB] jpeg_input_complete [LSB] jpeg_new_colormap [LSB] jpeg_quality_scaling [LSB] jpeg_read_coefficients [LSB] jpeg_read_header [LSB] jpeg_read_raw_data [LSB] jpeg_read_scanlines [LSB] jpeg_resync_to_restart [LSB] jpeg_save_markers [LSB] jpeg_set_colorspace [LSB] jpeg_set_defaults [LSB] jpeg_set_linear_quality [LSB] jpeg_set_marker_processor [LSB] jpeg_set_quality [LSB] jpeg_simple_progression [LSB] jpeg_start_compress [LSB] jpeg_start_decompress [LSB] jpeg_start_output [LSB] jpeg_std_error [LSB] jpeg_stdio_dest [LSB] jpeg_stdio_src [LSB] jpeg_suppress_tables [LSB] jpeg_write_coefficients [LSB] jpeg_write_m_byte [LSB] jpeg_write_m_header [LSB] jpeg_write_marker [LSB] jpeg_write_raw_data [LSB] jpeg_write_scanlines [LSB] jpeg_write_tables [LSB] __________________________________________________________ 9.2. Data Definitions for libjpeg This section defines global identifiers and their values that are associated with interfaces contained in libjpeg. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 9.2.1. jpeglib.h #define FAR #define HAVE_PROTOTYPES #define HAVE_UNSIGNED_CHAR #define HAVE_UNSIGNED_SHORT #define jpeg_create_compress(cinfo) \ jpeg_CreateCompress((cinfo), JPEG_LIB_VERSION, (size_t) sizeof(struct \ jpeg_compress_struct)) #define jpeg_create_decompress(cinfo) \ jpeg_CreateDecompress((cinfo), JPEG_LIB_VERSION, (size_t) \ sizeof(struct jpeg_decompress_struct)) #define jpeg_common_fields \ struct jpeg_error_mgr * err; struct jpeg_memory_mgr * mem; struct \ jpeg_progress_mgr * progress; void * client_data; boolean \ is_decompressor; int global_state #define GETJSAMPLE(value) ((int) (value)) #define GETJOCTET(value) (value) #define JPEG_SUSPENDED 0 #define JPOOL_PERMANENT 0 #define JPEG_RST0 0xD0 #define JPEG_EOI 0xD9 #define JPEG_APP0 0xE0 #define JPEG_COM 0xFE #define JPEG_HEADER_OK 1 #define JPEG_REACHED_SOS 1 #define JPOOL_IMAGE 1 #define C_MAX_BLOCKS_IN_MCU 10 #define D_MAX_BLOCKS_IN_MCU 10 #define MAX_COMPONENTS 10 #define CENTERJSAMPLE 128 #define NUM_ARITH_TBLS 16 #define JPEG_HEADER_TABLES_ONLY 2 #define JPEG_REACHED_EOI 2 #define JPOOL_NUMPOOLS 2 #define JMSG_LENGTH_MAX 200 #define MAXJSAMPLE 255 #define JPEG_ROW_COMPLETED 3 #define JPEG_SCAN_COMPLETED 4 #define MAX_COMPS_IN_SCAN 4 #define MAX_SAMP_FACTOR 4 #define NUM_HUFF_TBLS 4 #define NUM_QUANT_TBLS 4 #define JPEG_LIB_VERSION 62 #define DCTSIZE2 64 #define JPEG_MAX_DIMENSION 65500L #define BITS_IN_JSAMPLE 8 #define DCTSIZE 8 #define JMSG_STR_PARM_MAX 80 #define JPP(arglist) arglist #define EXTERN(type) extern type #define JDCT_FASTEST JDCT_IFAST #define JDCT_DEFAULT JDCT_ISLOW #define LOCAL(type) static type #define METHODDEF(type) static type #define GLOBAL(type) type #define JMETHOD(type,methodname,arglist) type (*methodname) arglist struct jpeg_decompress_struct { struct jpeg_error_mgr *err; struct jpeg_memory_mgr *mem; struct jpeg_progress_mgr *progress; void *client_data; boolean is_decompressor; int global_state; struct jpeg_source_mgr *src; JDIMENSION image_width; JDIMENSION image_height; int num_components; J_COLOR_SPACE jpeg_color_space; J_COLOR_SPACE out_color_space; unsigned int scale_num; unsigned int scale_denom; double output_gamma; boolean buffered_image; boolean raw_data_out; J_DCT_METHOD dct_method; boolean do_fancy_upsampling; boolean do_block_smoothing; boolean quantize_colors; J_DITHER_MODE dither_mode; boolean two_pass_quantize; int desired_number_of_colors; boolean enable_1pass_quant; boolean enable_external_quant; boolean enable_2pass_quant; JDIMENSION output_width; JDIMENSION output_height; int out_color_components; int output_components; int rec_outbuf_height; int actual_number_of_colors; JSAMPARRAY colormap; JDIMENSION output_scanline; int input_scan_number; JDIMENSION input_iMCU_row; int output_scan_number; JDIMENSION output_iMCU_row; int *coef_bits; JQUANT_TBL *quant_tbl_ptrs[4]; JHUFF_TBL *dc_huff_tbl_ptrs[4]; JHUFF_TBL *ac_huff_tbl_ptrs[4]; int data_precision; jpeg_component_info *comp_info; boolean progressive_mode; boolean arith_code; UINT8 arith_dc_L[16]; UINT8 arith_dc_U[16]; UINT8 arith_ac_K[16]; unsigned int restart_interval; boolean saw_JFIF_marker; UINT8 JFIF_major_version; UINT8 JFIF_minor_version; UINT8 density_unit; UINT16 X_density; UINT16 Y_density; boolean saw_Adobe_marker; UINT8 Adobe_transform; boolean CCIR601_sampling; jpeg_saved_marker_ptr marker_list; int max_h_samp_factor; int max_v_samp_factor; int min_DCT_scaled_size; JDIMENSION total_iMCU_rows; JSAMPLE *sample_range_limit; int comps_in_scan; jpeg_component_info *cur_comp_info[4]; JDIMENSION MCUs_per_row; JDIMENSION MCU_rows_in_scan; int blocks_in_MCU; int MCU_membership[10]; int Ss; int Se; int Ah; int Al; int unread_marker; struct jpeg_decomp_master *master; struct jpeg_d_main_controller *main; struct jpeg_d_coef_controller *coef; struct jpeg_d_post_controller *post; struct jpeg_input_controller *inputctl; struct jpeg_marker_reader *marker; struct jpeg_entropy_decoder *entropy; struct jpeg_inverse_dct *idct; struct jpeg_upsampler *upsample; struct jpeg_color_deconverter *cconvert; struct jpeg_color_quantizer *cquantize; }; struct jpeg_error_mgr { void (*error_exit) (j_common_ptr); void (*emit_message) (j_common_ptr, int); void (*output_message) (j_common_ptr); void (*format_message) (j_common_ptr, char *); void (*reset_error_mgr) (j_common_ptr); int msg_code; union { int i[8]; char s[80]; } msg_parm; int trace_level; long int num_warnings; const char *const *jpeg_message_table; int last_jpeg_message; const char *const *addon_message_table; int first_addon_message; int last_addon_message; }; struct jpeg_common_struct { struct jpeg_error_mgr *err; struct jpeg_memory_mgr *mem; struct jpeg_progress_mgr *progress; void *client_data; boolean is_decompressor; int global_state; }; struct jpeg_memory_mgr { void *(*alloc_small) (j_common_ptr, int, size_t); void *(*alloc_large) (j_common_ptr, int, size_t); JSAMPARRAY(*alloc_sarray) (j_common_ptr, int, JDIMENSION, JDIMENSION); JBLOCKARRAY(*alloc_barray) (j_common_ptr, int, JDIMENSION, JDIMENSION); jvirt_sarray_ptr(*request_virt_sarray) (j_common_ptr, int, boolean, JDIMENSION, JDIMENSION, JDIMENSION); jvirt_barray_ptr(*request_virt_barray) (j_common_ptr, int, boolean, JDIMENSION, JDIMENSION, JDIMENSION); void (*realize_virt_arrays) (j_common_ptr); JSAMPARRAY(*access_virt_sarray) (j_common_ptr, jvirt_sarray_ptr, JDIMENSION, JDIMENSION, boolean); JBLOCKARRAY(*access_virt_barray) (j_common_ptr, jvirt_barray_ptr, JDIMENSION, JDIMENSION, boolean); void (*free_pool) (j_common_ptr, int); void (*self_destruct) (j_common_ptr); long int max_memory_to_use; long int max_alloc_chunk; }; typedef struct jpeg_common_struct *j_common_ptr; typedef unsigned char JSAMPLE; typedef JSAMPLE *JSAMPROW; typedef JSAMPROW *JSAMPARRAY; typedef unsigned int JDIMENSION; typedef short int JCOEF; typedef JCOEF JBLOCK[64]; typedef JBLOCK *JBLOCKROW; typedef JBLOCKROW *JBLOCKARRAY; typedef struct jvirt_sarray_control *jvirt_sarray_ptr; typedef int boolean; typedef struct jvirt_barray_control *jvirt_barray_ptr; struct jpeg_progress_mgr { void (*progress_monitor) (j_common_ptr); long int pass_counter; long int pass_limit; int completed_passes; int total_passes; }; struct jpeg_source_mgr { const JOCTET *next_input_byte; size_t bytes_in_buffer; void (*init_source) (j_decompress_ptr); boolean(*fill_input_buffer) (j_decompress_ptr); void (*skip_input_data) (j_decompress_ptr, long int); boolean(*resync_to_restart) (j_decompress_ptr, int); void (*term_source) (j_decompress_ptr); }; typedef unsigned char JOCTET; typedef struct jpeg_decompress_struct *j_decompress_ptr; typedef enum { JCS_UNKNOWN = 0, JCS_GRAYSCALE = 1, JCS_RGB = 2, JCS_YCbCr = 3, JCS_CMYK = 4, JCS_YCCK = 5 } J_COLOR_SPACE; typedef enum { JDCT_ISLOW = 0, JDCT_IFAST = 1, JDCT_FLOAT = 2 } J_DCT_METHOD; typedef enum { JDITHER_NONE = 0, JDITHER_ORDERED = 1, JDITHER_FS = 2 } J_DITHER_MODE; typedef short unsigned int UINT16; typedef struct { UINT16 quantval[64]; boolean sent_table; } JQUANT_TBL; typedef unsigned char UINT8; typedef struct { UINT8 bits[17]; UINT8 huffval[256]; boolean sent_table; } JHUFF_TBL; typedef struct { int component_id; int component_index; int h_samp_factor; int v_samp_factor; int quant_tbl_no; int dc_tbl_no; int ac_tbl_no; JDIMENSION width_in_blocks; JDIMENSION height_in_blocks; int DCT_scaled_size; JDIMENSION downsampled_width; JDIMENSION downsampled_height; boolean component_needed; int MCU_width; int MCU_height; int MCU_blocks; int MCU_sample_width; int last_col_width; int last_row_height; JQUANT_TBL *quant_table; void *dct_table; } jpeg_component_info; struct jpeg_marker_struct { jpeg_saved_marker_ptr next; UINT8 marker; unsigned int original_length; unsigned int data_length; JOCTET *data; }; typedef struct jpeg_marker_struct *jpeg_saved_marker_ptr; struct jpeg_compress_struct { struct jpeg_error_mgr *err; struct jpeg_memory_mgr *mem; struct jpeg_progress_mgr *progress; void *client_data; boolean is_decompressor; int global_state; struct jpeg_destination_mgr *dest; JDIMENSION image_width; JDIMENSION image_height; int input_components; J_COLOR_SPACE in_color_space; double input_gamma; int data_precision; int num_components; J_COLOR_SPACE jpeg_color_space; jpeg_component_info *comp_info; JQUANT_TBL *quant_tbl_ptrs[4]; JHUFF_TBL *dc_huff_tbl_ptrs[4]; JHUFF_TBL *ac_huff_tbl_ptrs[4]; UINT8 arith_dc_L[16]; UINT8 arith_dc_U[16]; UINT8 arith_ac_K[16]; int num_scans; const jpeg_scan_info *scan_info; boolean raw_data_in; boolean arith_code; boolean optimize_coding; boolean CCIR601_sampling; int smoothing_factor; J_DCT_METHOD dct_method; unsigned int restart_interval; int restart_in_rows; boolean write_JFIF_header; UINT8 JFIF_major_version; UINT8 JFIF_minor_version; UINT8 density_unit; UINT16 X_density; UINT16 Y_density; boolean write_Adobe_marker; JDIMENSION next_scanline; boolean progressive_mode; int max_h_samp_factor; int max_v_samp_factor; JDIMENSION total_iMCU_rows; int comps_in_scan; jpeg_component_info *cur_comp_info[4]; JDIMENSION MCUs_per_row; JDIMENSION MCU_rows_in_scan; int blocks_in_MCU; int MCU_membership[10]; int Ss; int Se; int Ah; int Al; struct jpeg_comp_master *master; struct jpeg_c_main_controller *main; struct jpeg_c_prep_controller *prep; struct jpeg_c_coef_controller *coef; struct jpeg_marker_writer *marker; struct jpeg_color_converter *cconvert; struct jpeg_downsampler *downsample; struct jpeg_forward_dct *fdct; struct jpeg_entropy_encoder *entropy; jpeg_scan_info *script_space; int script_space_size; }; struct jpeg_destination_mgr { JOCTET *next_output_byte; size_t free_in_buffer; void (*init_destination) (j_compress_ptr); boolean(*empty_output_buffer) (j_compress_ptr); void (*term_destination) (j_compress_ptr); }; typedef struct jpeg_compress_struct *j_compress_ptr; typedef struct { int comps_in_scan; int component_index[4]; int Ss; int Se; int Ah; int Al; } jpeg_scan_info; typedef JSAMPARRAY *JSAMPIMAGE; typedef boolean(*jpeg_marker_parser_method) (j_decompress_ptr); extern void jpeg_save_markers(j_decompress_ptr, int, unsigned int); extern boolean jpeg_has_multiple_scans(j_decompress_ptr); extern void jpeg_set_linear_quality(j_compress_ptr, int, boolean); extern int jpeg_consume_input(j_decompress_ptr); extern void jpeg_stdio_src(j_decompress_ptr, FILE *); extern void jpeg_abort(j_common_ptr); extern boolean jpeg_finish_output(j_decompress_ptr); extern void jpeg_set_colorspace(j_compress_ptr, J_COLOR_SPACE); extern void jpeg_copy_critical_parameters(j_decompress_ptr, j_compress_ptr); extern jvirt_barray_ptr *jpeg_read_coefficients(j_decompress_ptr); extern void jpeg_destroy_decompress(j_decompress_ptr); extern void jpeg_write_m_header(j_compress_ptr, int, unsigned int); extern boolean jpeg_resync_to_restart(j_decompress_ptr, int); extern JDIMENSION jpeg_read_raw_data(j_decompress_ptr, JSAMPIMAGE, JDIMENSION); extern JDIMENSION jpeg_write_raw_data(j_compress_ptr, JSAMPIMAGE, JDIMENSION); extern JQUANT_TBL *jpeg_alloc_quant_table(j_common_ptr); extern int jpeg_read_header(j_decompress_ptr, boolean); extern struct jpeg_error_mgr *jpeg_std_error(struct jpeg_error_mgr *); extern void jpeg_write_tables(j_compress_ptr); extern void jpeg_simple_progression(j_compress_ptr); extern void jpeg_set_marker_processor(j_decompress_ptr, int, jpeg_marker_parser_method); extern void jpeg_suppress_tables(j_compress_ptr, boolean); extern JDIMENSION jpeg_write_scanlines(j_compress_ptr, JSAMPARRAY, JDIMENSION); extern void jpeg_abort_decompress(j_decompress_ptr); extern void jpeg_default_colorspace(j_compress_ptr); extern JHUFF_TBL *jpeg_alloc_huff_table(j_common_ptr); extern void jpeg_abort_compress(j_compress_ptr); extern void jpeg_add_quant_table(j_compress_ptr, int, const unsigned int *, int, boolean); extern void jpeg_calc_output_dimensions(j_decompress_ptr); extern void jpeg_destroy_compress(j_compress_ptr); extern boolean jpeg_finish_decompress(j_decompress_ptr); extern void jpeg_write_coefficients(j_compress_ptr, jvirt_barray_ptr *); extern void jpeg_set_defaults(j_compress_ptr); extern boolean jpeg_start_decompress(j_decompress_ptr); extern void jpeg_CreateDecompress(j_decompress_ptr, int, size_t); extern void jpeg_new_colormap(j_decompress_ptr); extern JDIMENSION jpeg_read_scanlines(j_decompress_ptr, JSAMPARRAY, JDIMENSION); extern int jpeg_quality_scaling(int); extern void jpeg_finish_compress(j_compress_ptr); extern boolean jpeg_input_complete(j_decompress_ptr); extern void jpeg_CreateCompress(j_compress_ptr, int, size_t); extern void jpeg_destroy(j_common_ptr); extern boolean jpeg_start_output(j_decompress_ptr, int); extern void jpeg_start_compress(j_compress_ptr, boolean); extern void jpeg_set_quality(j_compress_ptr, int, boolean); extern void jpeg_write_marker(j_compress_ptr, int, const JOCTET *, unsigned int); extern void jpeg_write_m_byte(j_compress_ptr, int); extern void jpeg_stdio_dest(j_compress_ptr, FILE *); __________________________________________________________ 9.3. Interface Definitions for libjpeg Table of Contents jpeg_CreateCompress -- allocate and initialize a JPEG compression object jpeg_CreateDecompress -- allocate and initialize a JPEG decompression object jpeg_abort -- aborts the compression or decompression cycle jpeg_abort_compress -- abort processing of JPEG compression operation jpeg_abort_decompress -- abort processing of JPEG decompression operation jpeg_add_quant_table -- add a quantization table jpeg_alloc_huff_table -- allocate Huffman table jpeg_alloc_quant_table -- allocate quantization table jpeg_calc_output_dimensions -- compute output image dimensions jpeg_consume_input -- decode input data jpeg_copy_critical_parameters -- copy critical compression parameters from source decompression object jpeg_default_colorspace -- set default colorspace based on input image's color space jpeg_destroy -- deallocation of a JPEG object jpeg_destroy_compress -- deallocate a JPEG compression object jpeg_destroy_decompress -- deallocate a JPEG decompression object jpeg_finish_compress -- complete the compression cycle jpeg_finish_decompress -- complete decompression cycle jpeg_finish_output -- complete pass in buffered-image mode jpeg_has_multiple_scans -- test if input image has multiple scans jpeg_input_complete -- test for end-of-image jpeg_new_colormap -- switch to a new external colormap between output passes jpeg_quality_scaling -- convert quality scaling to percentage scaling factor jpeg_read_coefficients -- read the contents of JPEG file as DCT coefficients jpeg_read_header -- read start of JPEG datastream jpeg_read_raw_data -- read raw downsampled image data jpeg_read_scanlines -- read scanlines of data from JPEG decompressor jpeg_resync_to_restart -- resync if marker other than expected restart marker found jpeg_save_markers -- save the contents of special markers jpeg_set_colorspace -- set JPEG file's colorspace jpeg_set_defaults -- set compression parameters to default values jpeg_set_linear_quality -- construct JPEG quantization tables for indicated scale factor jpeg_set_marker_processor -- set processor method for COM or APPn markers jpeg_set_quality -- construct JPEG quantization tables for indicated quality jpeg_simple_progression -- generate scan script for writing progressive JPEG file jpeg_start_compress -- initialize a compression cycle jpeg_start_decompress -- initialize a decompression cycle jpeg_start_output -- initialize for a pass in buffered-image mode jpeg_std_error -- update error manager with error handling routines jpeg_stdio_dest -- Initialize state for output to stdio stream jpeg_stdio_src -- Initialize state for input from stdio stream jpeg_suppress_tables -- control quantization and Huffman table suppression jpeg_write_coefficients -- Compression initialization for writing raw-coefficient data jpeg_write_m_byte -- emit a byte of special marker data jpeg_write_m_header -- emit header for special marker jpeg_write_marker -- write special marker data jpeg_write_raw_data -- write raw downsampled image data jpeg_write_scanlines -- write scanlines of data to JPEG compressor jpeg_write_tables -- create a tables-only file The interfaces defined on the following pages are included in libjpeg and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard. Other interfaces listed in Section 9.1 shall behave as described in the referenced base document. jpeg_CreateCompress Name jpeg_CreateCompress -- allocate and initialize a JPEG compression object Synopsis #include void jpeg_CreateCompress(j_compress_ptr cinfo, int version, size_t size); Description The function jpeg_CreateCompress() shall allocate and initialize a JPEG compression object of type struct jpeg_compress_struct. The error handler structure of type struct jpeg_error_mgr must be initialized before making a call to jpeg_CreateCompress(). JPEG_LIB_VERSION and size of the structure used to hold the JPEG compression object struct jpeg_compress_struct must be passed in arguments version and size respectively. Errors jpeg_CreateCompress() shall exit via the error handler if it fails to allocate memory. jpeg_CreateDecompress Name jpeg_CreateDecompress -- allocate and initialize a JPEG decompression object Synopsis #include void jpeg_CreateDecompress(j_decompress_ptr cinfo, int version, size_t size); Description The function jpeg_CreateDecompress() shall allocate and initialize a JPEG decompression object of type struct jpeg_decompress_struct. The error handler structure of type struct jpeg_error_mgr must be initialized before making a call to jpeg_CreateDecompress(). JPEG_LIB_VERSION and size of the structure used to hold the JPEG compression object struct jpeg_decompress_struct must be passed in arguments version and size respectively. Errors jpeg_CreateDecompress() shall exit via the error handler if it fails to allocate memory. jpeg_abort Name jpeg_abort -- aborts the compression or decompression cycle Synopsis #include void jpeg_abort(j_common_ptr cinfo); Description The function jpeg_abort() shall abort the processing of a compression or decompression operation. The function shall return the given object to an idle state releasing any working memory. The object may be reused after a call to jpeg_abort(). jpeg_abort_compress Name jpeg_abort_compress -- abort processing of JPEG compression operation Synopsis #include void jpeg_abort_compress(j_compress_ptr cinfo); Description The function jpeg_abort_compress() shall abort the processing of a JPEG compression operation. The function shall return the given compression object to an idle state releasing any working memory. The compression object may be reused after a call to jpeg_abort_compress(). jpeg_abort_decompress Name jpeg_abort_decompress -- abort processing of JPEG decompression operation Synopsis #include void jpeg_abort_decompress(j_decompress_ptr cinfo); Description The function jpeg_abort_decompress() shall abort the processing of a JPEG decompression operation. The function shall return the given decompression object to an idle state releasing any working memory. The decompression object may be reused after a call to jpeg_abort_decompress(). jpeg_add_quant_table Name jpeg_add_quant_table -- add a quantization table Synopsis #include void jpeg_add_quant_table(j_compress_ptr cinfo, int table_slot, const unsigned int * basic_table, int scale_factor, boolean force_baseline); Description The function jpeg_add_quant_table() shall add a quantization table parameter at the "table_slot" index of the quantization table array. "basic_table" points to an array of 64 unsigned ints given in normal array order. These values are multiplied by "scale_factor"/100. The values are limited to the range 1..65535. If "force_baseline" is TRUE, the computed quantization table entries are limited to 1..255 for JPEG baseline compatibility. Errors jpeg_add_quant_table() shall return error and exit if "table_slot" is >= NUM_QUANT_TBLS. jpeg_add_quant_table() shall return error and exit if the state of the compression object indicates that the compression cycle has started. jpeg_alloc_huff_table Name jpeg_alloc_huff_table -- allocate Huffman table Synopsis #include JHUFF_TBL * jpeg_alloc_huff_table(j_common_ptr cinfo); Description jpeg_alloc_huff_table() shall allocate memory for a structure holding Huffman coding table. Return Value jpeg_alloc_huff_table() shall return a pointer to allocated data structure for the Huffman coding table. jpeg_alloc_quant_table Name jpeg_alloc_quant_table -- allocate quantization table Synopsis #include JQUANT_TBL * jpeg_alloc_quant_table(j_common_ptr cinfo); Description jpeg_alloc_quant_table() shall allocate memory for a structure holding quantization table. Return Value jpeg_alloc_quant_table() shall return a pointer to allocated data structure for the quantization table. jpeg_calc_output_dimensions Name jpeg_calc_output_dimensions -- compute output image dimensions Synopsis #include void jpeg_calc_output_dimensions(j_decompress_ptr cinfo); Description jpeg_calc_output_dimensions() computes the output image dimensions based on the current compression parameter settings in the compression object. The following dimensions shall be computed: output_width actual width of output image output_height actual height of output image out_color_components number of color components in out_color_space output_components number of color components returned rec_outbuf_height recommended height of scanline buffer jpeg_consume_input Name jpeg_consume_input -- decode input data Synopsis #include int jpeg_consume_input(j_decompress_ptr cinfo); Description jpeg_consume_input() shall decode the input data as it arrives, even if it is not to be displayed. Return Value jpeg_consume_input() shall return with one of the following return codes: JPEG_REACHED_SOS reached SOS marker JPEG_REACHED_EOI reached EOI marker JPEG_ROW_COMPLETED completed reading one MCU row of compressed data JPEG_SCAN_COMPLETED completed reading last MCU row of compressed scan JPEG_SUSPENDED if data source module requests suspension of the decompressor. jpeg_copy_critical_parameters Name jpeg_copy_critical_parameters -- copy critical compression parameters from source decompression object Synopsis #include void jpeg_copy_critical_parameters(j_decompress_ptr srcinfo, j_compress_ptr dstinfo); Description jpeg_copy_critical_parameters() shall initialize the compression object with default parameters, then copy the parameters needed for lossless transcoding from the source decompression object. jpeg_default_colorspace Name jpeg_default_colorspace -- set default colorspace based on input image's color space Synopsis #include void jpeg_default_colorspace(j_compress_ptr cinfo); Description jpeg_default_colorspace() shall set the JPEG color space to a default value based on the color space of the input image. jpeg_destroy Name jpeg_destroy -- deallocation of a JPEG object Synopsis #include void jpeg_destroy(j_common_ptr cinfo); Description The function jpeg_destroy() shall deallocate and release all memory associated with the JPEG object. The object itself and the error manager struct allocated by the application should not be freed by this function. jpeg_destroy_compress Name jpeg_destroy_compress -- deallocate a JPEG compression object Synopsis #include void jpeg_destroy_compress(j_compress_ptr cinfo); Description The function jpeg_destroy_compress() shall deallocate and release all memory associated with the compression object. The jpeg_compress_struct itself and the error manager struct allocated by the application should not be freed by this function. jpeg_destroy_decompress Name jpeg_destroy_decompress -- deallocate a JPEG decompression object Synopsis #include void jpeg_destroy_decompress(j_decompress_ptr cinfo); Description The function jpeg_destroy_decompress() shall deallocate and release all memory associated with the decompression object. The jpeg_decompress_struct itself and the error manager struct allocated by the application should not be freed by this function. jpeg_finish_compress Name jpeg_finish_compress -- complete the compression cycle Synopsis #include void jpeg_finish_compress(j_compress_ptr cinfo); Description The function jpeg_finish_compress() shall set the compression state to completion. Any remaining bufferload of data shall be written to the data destination. jpeg_finish_compress() shall also release working memory associated with the JPEG object. Errors jpeg_finish_compress() shall return error if the function is invoked before writing the specified number of scanlines. jpeg_finish_decompress Name jpeg_finish_decompress -- complete decompression cycle Synopsis #include boolean jpeg_finish_decompress(j_decompress_ptr cinfo); Description The function jpeg_finish_decompress() shall set the decompression state to completion. Any remaining input data shall be decoded and consumed. jpeg_finish_decompress() shall also release working memory associated with the JPEG object. Return Value jpeg_finish_decompress() shall return FALSE if data source requests suspension of the decompressor. Otherwise, jpeg_finish_decompress() shall return TRUE. Errors jpeg_finish_decompress() shall return error if the function is invoked before reading the specified number of scanlines. jpeg_finish_output Name jpeg_finish_output -- complete pass in buffered-image mode Synopsis #include boolean jpeg_finish_output(j_decompress_ptr cinfo); Description jpeg_start_output() shall change state for completion of an output pass in buffered-image mode. The scan number shall be incremented if the end-of-image marker is not reached. Return Value jpeg_finish_output() shall return FALSE if decompression is suspended. Otherwise, jpeg_finish_output() shall return TRUE. jpeg_has_multiple_scans Name jpeg_has_multiple_scans -- test if input image has multiple scans Synopsis #include boolean jpeg_has_multiple_scans(j_decompress_ptr cinfo); Description jpeg_has_multiple_scans() shall return TRUE if the incoming image file has more than one scan. Return Value TRUE for multiple scans, FALSE otherwise. jpeg_input_complete Name jpeg_input_complete -- test for end-of-image Synopsis #include boolean jpeg_input_complete(j_decompress_ptr cinfo); Description jpeg_input_complete() shall return TRUE if the end-of-image marker has not been read for the input image file. Return Value TRUE if reached EOI, FALSE otherwise. jpeg_new_colormap Name jpeg_new_colormap -- switch to a new external colormap between output passes Synopsis #include void jpeg_new_colormap(j_decompress_ptr cinfo); Description jpeg_new_colormap() shall select 2-pass quantizer for using an external colormap and notify the quantizer of the switch to a colormap that is different from the one used in the previous pass. The new colormap must be set using cinfo.colormap before a call to jpeg_new_colormap(). jpeg_quality_scaling Name jpeg_quality_scaling -- convert quality scaling to percentage scaling factor Synopsis #include int jpeg_quality_scaling(int quality); Description The function jpeg_quality_scaling() shall convert a user-specified quality rating to a percentage scaling factor for an underlying quantization table, using IJG-recommended scaling curve. The input "quality" factor ranges from 0 to 100. Return Value jpeg_quality_scaling() shall return the integer value of quality as a percentage. jpeg_read_coefficients Name jpeg_read_coefficients -- read the contents of JPEG file as DCT coefficients Synopsis #include jvirt_barray_ptr * jpeg_read_coefficients(j_decompress_ptr cinfo); Description jpeg_read_coefficients() shall return the contents of the JPEG image file as DCT coefficients. The entire image shall be read as a set of virtual coefficient-block arrays, one array per component. The return value is a pointer to an array of virtual-array descriptors. Each block in the block arrays shall contain quantized coefficient values in normal array order and not JPEG zigzag order. The block arrays shall contain only DCT blocks containing real data; any entirely-dummy blocks added to fill out interleaved MCUs at the right or bottom edges of the image shall be discarded during reading and shall not be stored in the block arrays. The size of each block array can be determined from the width_in_blocks and height_in_blocks fields of the component's comp_info entry. Return Value jpeg_read_coefficients() shall return a pointer to an array of virtual-array descriptors containing DCT coefficients. jpeg_read_header Name jpeg_read_header -- read start of JPEG datastream Synopsis #include int jpeg_read_header(j_decompress_ptr cinfo, boolean require_image); Description The function jpeg_read_header() shall read the JPEG datastream until the first SOS marker is encountered. The function shall initialize all decompression parameters to default values and save all tables and parameters in the decompression object structure. Return Value jpeg_read_header() shall return with one of the following return codes: JPEG_HEADER_OK if SOS marker is reached JPEG_HEADER_TABLES_ONLY for an abbreviated input image, if EOI is reached JPEG_SUSPENDED if data source module requests suspension of the decompressor. Errors jpeg_read_header() returns error if it encounters end-of-image and require_image is TRUE. jpeg_read_raw_data Name jpeg_read_raw_data -- read raw downsampled image data Synopsis #include JDIMENSION jpeg_read_raw_data(j_decompress_ptr cinfo, JSAMPIMAGE data, JDIMENSION max_lines); Description jpeg_read_raw_data() shall return upto max_lines number of scanlines of raw downsampled data into the JSAMPIMAGE array argument. The data buffer must be of atleast max_v_samp_factor*DCTSIZE scanlines as jpeg_read_raw_data() shall return one MCU row per call. The passed max_lines value must be atleast (cinfo->max_v_samp_factor * DCTSIZE). Before starting the decompression sequence, cinfo->raw_data_out must be set to TRUE. Return Value jpeg_read_raw_data() shall return the number of scanlines processed. jpeg_read_raw_data() shall return 0 if the data source is suspended. Errors jpeg_read_raw_data() shall report error and exit if max_lines is less than (cinfo->max_v_samp_factor*DCTSIZE). jpeg_read_scanlines Name jpeg_read_scanlines -- read scanlines of data from JPEG decompressor Synopsis #include JDIMENSION jpeg_read_scanlines(j_decompress_ptr cinfo, JSAMPARRAY scanlines, JDIMENSION max_lines); Description jpeg_read_scanlines() shall return upto the maximum number of scanlines of decompressed image data. This may be less than the number requested in cases such as bottom of image, data source suspension, and operating modes that emit multiple scanlines at a time. Image data shall be returned in top-to-bottom scanline order. Return Value On success, jpeg_read_scanlines() shall return the number of lines actually read. Errors jpeg_read_scanlines() shall report a non-fatal error if the requested number of scanlines is greater than the height of the original unscaled image. jpeg_resync_to_restart Name jpeg_resync_to_restart -- resync if marker other than expected restart marker found Synopsis #include boolean jpeg_resync_to_restart(j_decompress_ptr cinfo, int desired); Description jpeg_resync_to_restart() is the default resync procedure that a data source manager can invoke when the decompressor fails to find a restart (RSTn) marker where one is expected. The function shall find a suitable point for resuming decompression and position the input stream to the next data segment. The desired restart marker number (0..7) is passed as argument "desired". Return Value jpeg_resync_to_restart() shall return FALSE if decompression is suspended. Otherwise, jpeg_start_output() shall return TRUE. jpeg_save_markers Name jpeg_save_markers -- save the contents of special markers Synopsis #include void jpeg_save_markers(j_decompress_ptr cinfo, int marker_code, unsigned int length_limit); Description jpeg_save_markers() shall obtain length_limit bytes of special markers of type specified by marker_code. The marker_code shall take one of the following values: JPEG_COM, JPEG_APP0 - JPEG_APP15. The marker contents shall be stored in the marker field of cinfo. If length_limit is 0xFFFF, all marker bytes are saved. jpeg_set_colorspace Name jpeg_set_colorspace -- set JPEG file's colorspace Synopsis #include void jpeg_set_colorspace(j_compress_ptr cinfo, J_COLOR_SPACE colorspace); Description jpeg_set_colorspace() shall set the JPEG file's colorspace to the given color space. The function may change the value of other compression parameters that are dependent on color space. Errors jpeg_set_colorspace() shall return error and exit if the state of the compression object indicates that the compression cycle has started. jpeg_set_defaults Name jpeg_set_defaults -- set compression parameters to default values Synopsis #include void jpeg_set_defaults(j_compress_ptr cinfo); Description The function jpeg_set_defaults() shall set all JPEG compression parameters to default values using the input image's color space. Errors jpeg_set_defaults() shall return error and exit if the state of the compression object indicates that the compression cycle has started. jpeg_set_linear_quality Name jpeg_set_linear_quality -- construct JPEG quantization tables for indicated scale factor Synopsis #include void jpeg_set_linear_quality(j_compress_ptr cinfo, int scale_factor, boolean force_baseline); Description The function jpeg_set_linear_quality() shall construct JPEG quantization tables from the sample table values in JPEG specification Section K.1, multiplied by the given percentage scale factor. If "force_baseline" is TRUE, the computed quantization table entries are limited to 1..255 for JPEG baseline compatibility. jpeg_set_marker_processor Name jpeg_set_marker_processor -- set processor method for COM or APPn markers Synopsis #include void jpeg_set_marker_processor(j_decompress_ptr cinfo, int marker_code, jpeg_marker_parser_method routine); Description jpeg_set_marker_processor() shall set a marker processor routine having signature boolean jpeg_marker_parser_method() j_decompress_ptr cinfo The marker processor routine must return TRUE if the marker and its parameters are processed completely. The routine must return FALSE if it is forced to suspend before reaching the end of marker parameters. jpeg_set_quality Name jpeg_set_quality -- construct JPEG quantization tables for indicated quality Synopsis #include void jpeg_set_quality(j_compress_ptr cinfo, int quality, boolean force_baseline); Description The function jpeg_set_quality() shall construct JPEG quantization tables for the given quality setting. The quality value ranges from 0..100. If "force_baseline" is TRUE, the computed quantization table entries are limited to 1..255 for JPEG baseline compatibility. jpeg_simple_progression Name jpeg_simple_progression -- generate scan script for writing progressive JPEG file Synopsis #include void jpeg_simple_progression(j_compress_ptr cinfo); Description The function jpeg_simple_progression() shall generate a default scan script for writing a progressive JPEG file. jpeg_start_compress Name jpeg_start_compress -- initialize a compression cycle Synopsis #include void jpeg_start_compress(j_compress_ptr cinfo, boolean write_all_tables); Description The function jpeg_start_compress() shall initialize state for a JPEG compression cycle. The compression parameters, data destination and source image information must be set prior to the invocation of jpeg_start_compress(). Setting write_all_tables to TRUE shall indicate that a complete JPEG interchange datastream will be written and all Huffman tables shall be emited. If write_all_tables is set to FALSE, the default behavior shall be to emit a pure abbreviated image with no tables. jpeg_start_decompress Name jpeg_start_decompress -- initialize a decompression cycle Synopsis #include boolean jpeg_start_decompress(j_decompress_ptr cinfo); Description The function jpeg_start_decompress() shall initialize state for a JPEG decompression cycle and allocate working memory. The JPEG datastream header must be read prior to the invokation of jpeg_start_decompress() to obtain the parameters for decompression. jpeg_start_output Name jpeg_start_output -- initialize for a pass in buffered-image mode Synopsis #include boolean jpeg_start_output(j_decompress_ptr cinfo, int scan_number); Description jpeg_start_output() shall initialize state for an output pass in buffered-image mode. The scan_number indicates the scan of the image to be displayed. Scan numbers start from 1. The buffered-image mode must be selected before starting an output pass by setting cinfo.buffered_image = TRUE. Return Value jpeg_start_output() shall return FALSE if decompression is suspended. Otherwise, jpeg_start_output() shall return TRUE. jpeg_std_error Name jpeg_std_error -- update error manager with error handling routines Synopsis #include struct jpeg_error_mgr * jpeg_std_error(struct jpeg_error_mgr * error_mgr); Description jpeg_std_error() shall update the given jpeg_error_mgr object with standard error handling methods. Return Value jpeg_std_error() shall return the updated jpeg_error_mgr object. jpeg_stdio_dest Name jpeg_stdio_dest -- Initialize state for output to stdio stream Synopsis #include void jpeg_stdio_dest(j_compress_ptr cinfo, FILE * outfile); Description jpeg_stdio_dest() shall initialize state for output to the given stdio stream outfile. The stream outfile must be in open state. jpeg_stdio_src Name jpeg_stdio_src -- Initialize state for input from stdio stream Synopsis #include void jpeg_stdio_src(j_decompress_ptr cinfo, FILE * infile); Description jpeg_stdio_src() shall initialize state for input from the given stdio stream infile. The stream infile must be in open state. jpeg_suppress_tables Name jpeg_suppress_tables -- control quantization and Huffman table suppression Synopsis #include void jpeg_suppress_tables(j_compress_ptr cinfo, boolean suppress); Description The function jpeg_suppress_tables() forcibly suppress or un-suppresses all quantization and Huffman tables. If "suppress" is TRUE, the function shall mark all currently defined tables as already written. Otherwise, the tables will be marked as not written. This controls the emission of tables on subsequent calls to jpeg_start_compress(). jpeg_write_coefficients Name jpeg_write_coefficients -- Compression initialization for writing raw-coefficient data Synopsis #include void jpeg_write_coefficients(j_compress_ptr cinfo, jvirt_barray_ptr * coeff_arrays); Description jpeg_write_coefficients() shall write the contents of the JPEG file as DCT coefficients. The DCT coefficients shall be obtained from the array of virtual block array descriptors pointed to be "coeff_arrays". The number of arrays to be written is obtained from cinfo.num_components. Note: The virtual arrays may not be realized before jpeg_write_coefficients() is called. The virtual arrays requested from the compression object's memory manager may be realized by calling jpeg_write_coefficients() as a side-effect. jpeg_write_m_byte Name jpeg_write_m_byte -- emit a byte of special marker data Synopsis #include void jpeg_write_m_byte(j_compress_ptr cinfo, int val); Description jpeg_write_m_byte() shall emit a byte of marker data equal to "val". jpeg_write_m_header Name jpeg_write_m_header -- emit header for special marker Synopsis #include void jpeg_write_m_header(j_compress_ptr cinfo, int marker, unsigned int datalen); Description jpeg_write_marker_header() shall emit the marker header. The marker header consists of the marker code derived from "marker" followed by the length of marker data "datalen". jpeg_write_marker Name jpeg_write_marker -- write special marker data Synopsis #include void jpeg_write_marker(j_compress_ptr cinfo, int marker, const JOCTET * dataptr, unsigned int datalen); Description jpeg_write_marker() shall emit the marker header and "datalen" number of marker bytes obtained from "*dataptr". The marker header consists of the marker code followed by the length of marker data. jpeg_write_raw_data Name jpeg_write_raw_data -- write raw downsampled image data Synopsis #include JDIMENSION jpeg_write_raw_data(j_compress_ptr cinfo, JSAMPIMAGE data, JDIMENSION num_lines); Description jpeg_write_raw_data() shall write the compressed image data for raw downsampled data supplied in the JSAMPIMAGE array argument. The number of scanlines passed in num_lines to jpeg_write_raw_data() is measured in terms of the component with the largest v_samp_factor. If the image dimensions are not a multiple of the MCU size, the data must be padded to a multiple of a DCT block in each component, such that each downsampled row must contain a multiple of 8 valid samples, and there must be a multiple of 8 sample rows for each component. Data must be padded so that the passed num_lines value is atleast (cinfo->max_v_samp_factor * DCTSIZE). jpeg_write_raw_data() shall process one MCU row per call which is (cinfo->comp_info[0].v_samp_factor*DCTSIZE) sample rows of each component. Before starting the compression sequence, cinfo->raw_data_in must be set to TRUE. cinfo->jpeg_color_space must be set to colorspace to be used in the JPEG file. The sampling factors, cinfo->comp_info[i].h_samp_factor and cinfo->comp_info[i].v_samp_factor must be set to the dimensions of the supplied data. Return Value jpeg_write_raw_data() shall return the number of scanlines processed. jpeg_write_raw_data() shall return 0 if the compressor is suspended. Errors jpeg_write_raw_data() shall report error and exit if num_lines is less than (cinfo->max_v_samp_factor*DCTSIZE). jpeg_write_scanlines Name jpeg_write_scanlines -- write scanlines of data to JPEG compressor Synopsis #include JDIMENSION jpeg_write_scanlines(j_compress_ptr cinfo, JSAMPARRAY scanlines, JDIMENSION num_lines); Description jpeg_write_scanlines() shall write the number of scanlines of image data to be compressed from in-memory buffers. The image data shall be written in top-to-bottom scanline order. Return Value On success, jpeg_read_scanlines() shall return the number of lines actually written. Errors jpeg_write_scanlines() shall report a non-fatal error if the requested number of scanlines is greater than the height of the original unscaled image. jpeg_write_tables Name jpeg_write_tables -- create a tables-only file Synopsis #include void jpeg_write_tables(j_compress_ptr cinfo); Description jpeg_write_tables() shall create a tables-only file by writing an abbreviated datastream containing only SOI, DQT and/or DHT and EOI markers. All the quantization and Huffman tables currently defined in the compression object shall be emitted unless their sent_table flag is set to TRUE. Once emitted, sent_table flag shall be set for all tables written. VI. Fontconfig library Table of Contents 10. Libraries 10.1. Interfaces for libfontconfig 10.1.1. Font Customization and Configuration Library 10.2. Data Definitions for libfontconfig 10.2.1. fontconfig/fcfreetype.h 10.2.2. fontconfig/fcprivate.h 10.2.3. fontconfig/fontconfig.h 11. Commands and Utilities 11.1. Commands and Utilities 11.2. Command Behavior fc-cache -- build font information cache files fc-list -- list available fonts. fc-match -- match available fonts __________________________________________________________ Chapter 10. Libraries 10.1. Interfaces for libfontconfig Table 10-1 defines the library name and shared object name for the libfontconfig library Table 10-1. libfontconfig Definition Library: libfontconfig SONAME: libfontconfig.so.1 The behavior of the interfaces in this library is specified by the following specifications: [fontconfig] Fontconfig Developers Reference __________________________________________________________ 10.1.1. Font Customization and Configuration Library __________________________________________________________ 10.1.1.1. Interfaces for Font Customization and Configuration Library An LSB conforming implementation shall provide the generic functions for Font Customization and Configuration Library specified in Table 10-2, with the full mandatory functionality as described in the referenced underlying specification. Table 10-2. libfontconfig - Font Customization and Configuration Library Function Interfaces FcAtomicCreate [fontconfig] FcAtomicDeleteNew [fontconfig] FcAtomicDestroy [fontconfig] FcAtomicLock [fontconfig] FcAtomicNewFile [fontconfig] FcAtomicOrigFile [fontconfig] FcAtomicReplaceOrig [fontconfig] FcAtomicUnlock [fontconfig] FcBlanksAdd [fontconfig] FcBlanksCreate [fontconfig] FcBlanksDestroy [fontconfig] FcBlanksIsMember [fontconfig] FcCharSetAddChar [fontconfig] FcCharSetCopy [fontconfig] FcCharSetCount [fontconfig] FcCharSetCreate [fontconfig] FcCharSetDestroy [fontconfig] FcCharSetEqual [fontconfig] FcCharSetFirstPage [fontconfig] FcCharSetHasChar [fontconfig] FcCharSetIntersect [fontconfig] FcCharSetIntersectCount [fontconfig] FcCharSetIsSubset [fontconfig] FcCharSetNextPage [fontconfig] FcCharSetSubtract [fontconfig] FcCharSetSubtractCount [fontconfig] FcCharSetUnion [fontconfig] FcConfigAppFontAddDir [fontconfig] FcConfigAppFontAddFile [fontconfig] FcConfigAppFontClear [fontconfig] FcConfigBuildFonts [fontconfig] FcConfigDestroy [fontconfig] FcConfigEnableHome [fontconfig] FcConfigFilename [fontconfig] FcConfigGetBlanks [fontconfig] FcConfigGetCache [fontconfig] FcConfigGetConfigDirs [fontconfig] FcConfigGetConfigFiles [fontconfig] FcConfigGetCurrent [fontconfig] FcConfigGetFontDirs [fontconfig] FcConfigGetFonts [fontconfig] FcConfigGetRescanInverval [fontconfig] FcConfigHome [fontconfig] FcConfigParseAndLoad [fontconfig] FcConfigSetCurrent [fontconfig] FcConfigSetRescanInverval [fontconfig] FcConfigSubstitute [fontconfig] FcConfigSubstituteWithPat [fontconfig] FcConfigUptoDate [fontconfig] FcDefaultSubstitute [fontconfig] FcDirCacheValid [fontconfig] FcDirSave [fontconfig] FcDirScan [fontconfig] FcFileScan [fontconfig] FcFontList [fontconfig] FcFontMatch [fontconfig] FcFontRenderPrepare [fontconfig] FcFontSetAdd [fontconfig] FcFontSetCreate [fontconfig] FcFontSetDestroy [fontconfig] FcFontSetList [fontconfig] FcFontSetMatch [fontconfig] FcFontSetPrint [fontconfig] FcFontSetSort [fontconfig] FcFontSetSortDestroy [fontconfig] FcFontSort [fontconfig] FcFreeTypeCharIndex [fontconfig] FcFreeTypeCharSet [fontconfig] FcFreeTypeCharSetAndSpacing [fontconfig] FcFreeTypeQuery [fontconfig] FcGetVersion [fontconfig] FcInit [fontconfig] FcInitBringUptoDate [fontconfig] FcInitLoadConfig [fontconfig] FcInitLoadConfigAndFonts [fontconfig] FcInitReinitialize [fontconfig] FcLangSetAdd [fontconfig] FcLangSetCompare [fontconfig] FcLangSetContains [fontconfig] FcLangSetCopy [fontconfig] FcLangSetCreate [fontconfig] FcLangSetDestroy [fontconfig] FcLangSetEqual [fontconfig] FcLangSetHasLang [fontconfig] FcLangSetHash [fontconfig] FcMatrixCopy [fontconfig] FcMatrixEqual [fontconfig] FcMatrixMultiply [fontconfig] FcMatrixRotate [fontconfig] FcMatrixScale [fontconfig] FcMatrixShear [fontconfig] FcNameConstant [fontconfig] FcNameGetConstant [fontconfig] FcNameGetObjectType [fontconfig] FcNameParse [fontconfig] FcNameRegisterConstants [fontconfig] FcNameRegisterObjectTypes [fontconfig] FcNameUnparse [fontconfig] FcNameUnregisterConstants [fontconfig] FcNameUnregisterObjectTypes [fontconfig] FcObjectSetAdd [fontconfig] FcObjectSetBuild [fontconfig] FcObjectSetCreate [fontconfig] FcObjectSetDestroy [fontconfig] FcObjectSetVaBuild [fontconfig] FcPatternAdd [fontconfig] FcPatternAddBool [fontconfig] FcPatternAddCharSet [fontconfig] FcPatternAddDouble [fontconfig] FcPatternAddFTFace [fontconfig] FcPatternAddInteger [fontconfig] FcPatternAddLangSet [fontconfig] FcPatternAddMatrix [fontconfig] FcPatternAddString [fontconfig] FcPatternAddWeak [fontconfig] FcPatternBuild [fontconfig] FcPatternCreate [fontconfig] FcPatternDel [fontconfig] FcPatternDestroy [fontconfig] FcPatternDuplicate [fontconfig] FcPatternEqual [fontconfig] FcPatternEqualSubset [fontconfig] FcPatternGet [fontconfig] FcPatternGetBool [fontconfig] FcPatternGetCharSet [fontconfig] FcPatternGetDouble [fontconfig] FcPatternGetFTFace [fontconfig] FcPatternGetInteger [fontconfig] FcPatternGetLangSet [fontconfig] FcPatternGetMatrix [fontconfig] FcPatternGetString [fontconfig] FcPatternHash [fontconfig] FcPatternPrint [fontconfig] FcPatternReference [fontconfig] FcPatternVaBuild [fontconfig] FcStrBasename [fontconfig] FcStrCmp [fontconfig] FcStrCmpIgnoreCase [fontconfig] FcStrCopy [fontconfig] FcStrCopyFilename [fontconfig] FcStrDirname [fontconfig] FcStrListCreate [fontconfig] FcStrListDone [fontconfig] FcStrListNext [fontconfig] FcStrSetAdd [fontconfig] FcStrSetAddFilename [fontconfig] FcStrSetCreate [fontconfig] FcStrSetDel [fontconfig] FcStrSetDestroy [fontconfig] FcStrSetEqual [fontconfig] FcStrSetMember [fontconfig] FcUcs4ToUtf8 [fontconfig] FcUtf16Len [fontconfig] FcUtf16ToUcs4 [fontconfig] FcUtf8Len [fontconfig] FcUtf8ToUcs4 [fontconfig] FcValueDestroy [fontconfig] FcValueEqual [fontconfig] FcValuePrint [fontconfig] FcValueSave [fontconfig] __________________________________________________________ 10.2. Data Definitions for libfontconfig This section defines global identifiers and their values that are associated with interfaces contained in libfontconfig. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 10.2.1. fontconfig/fcfreetype.h extern FcResult FcPatternGetFTFace(const FcPattern *, const char *, int, FT_Face *); extern FcBool FcPatternAddFTFace(FcPattern *, const char *, const FT_Face); extern FT_UInt FcFreeTypeCharIndex(FT_Face, FcChar32); extern FcCharSet *FcFreeTypeCharSet(FT_Face, FcBlanks *); extern FcCharSet *FcFreeTypeCharSetAndSpacing(FT_Face, FcBlanks *, int *); __________________________________________________________ 10.2.2. fontconfig/fcprivate.h #define FcObjectSetVapBuild(__ret__,__first__,__va__) \ { FcObjectSet *__os__; const char *__ob__; __ret__ = 0; __os__ = \ FcObjectSetCreate (); if (!__os__) goto _FcObjectSetVapBuild_bail0; \ __ob__ = __first__; while (__ob__) { if (!FcObjectSetAdd (__os__, \ __ob__)) goto _FcObjectSetVapBuild_bail1; __ob__ = va_arg (__va__, \ const char *); } __ret__ = __os__; _FcObjectSetVapBuild_bail1: if \ (!__ret__ && __os__) FcObjectSetDestroy (__os__); \ _FcObjectSetVapBuild_bail0: ; } #define FcPatternVapBuild(result,orig,va) \ { FcPattern *__p__ = (orig); const char *__o__; FcValue __v__; if \ (!__p__) { __p__ = FcPatternCreate (); if (!__p__) goto \ _FcPatternVapBuild_bail0; } for (;;) { __o__ = va_arg (va, const char \ *); if (!__o__) break; __v__.type = va_arg (va, FcType); switch\ (__v__.type) { case FcTypeVoid: goto _FcPatternVapBuild_bail1; case \ FcTypeInteger: __v__.u.i = va_arg (va, int); break; case FcTypeDouble: \ __v__.u.d = va_arg (va, double); break; case FcTypeString: __v__.u.s = \ va_arg (va, FcChar8 *); break; case FcTypeBool: __v__.u.b = va_arg \ (va, FcBool); break; case FcTypeMatrix: __v__.u.m = va_arg (va,\ FcMatrix *); break; case FcTypeCharSet: __v__.u.c = va_arg (va,\ FcCharSet *); break; case FcTypeFTFace: __v__.u.f = va_arg (va,\ FT_Face); break; case FcTypeLangSet: __v__.u.l = va_arg (va, FcLangSet \ *); break; } if (!FcPatternAdd (__p__, __o__, __v__, FcTrue)) goto \ _FcPatternVapBuild_bail1; } result = __p__; goto \ _FcPatternVapBuild_return; _FcPatternVapBuild_bail1: if (!orig)\ FcPatternDestroy (__p__); _FcPatternVapBuild_bail0: result = (void*)0; \ _FcPatternVapBuild_return: ; } __________________________________________________________ 10.2.3. fontconfig/fontconfig.h #define _FCFUNCPROTOBEGIN #define _FCFUNCPROTOEND #define FC_USER_CACHE_FILE ".fonts.cache-"FC_CACHE_VERSION #define FC_DIR_CACHE_FILE "fonts.cache-"FC_CACHE_VERSION #define FcIsUpper(c) ((0101 <= (c) && (c) <= 0132)) #define FcIsLower(c) ((0141 <= (c) && (c) <= 0172)) #define FC_CHARSET_DONE ((FcChar32) -1) #define FC_VERSION ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION)) #define FcMatrixInit(m) ((m)->xx = (m)->yy = 1, (m)->xy = (m)->yx = 0) #define FC_CHARSET_MAP_SIZE (256/32) #define FcToLower(c) (FcIsUpper(c) ? (c) - 0101 + 0141 : (c)) #define FC_HINT_NONE 0 #define FC_PROPORTIONAL 0 #define FC_RGBA_UNKNOWN 0 #define FC_SLANT_ROMAN 0 #define FC_WEIGHT_THIN 0 #define FcFalse 0 #define FC_CACHE_VERSION "1" #define FC_HINT_SLIGHT 1 #define FC_RGBA_RGB 1 #define FcTrue 1 #define FC_MONO 100 #define FC_SLANT_ITALIC 100 #define FC_WEIGHT_MEDIUM 100 #define FC_WIDTH_NORMAL 100 #define FC_CHARCELL 110 #define FC_SLANT_OBLIQUE 110 #define FC_WIDTH_SEMIEXPANDED 113 #define FC_WIDTH_EXPANDED 125 #define FC_WIDTH_EXTRAEXPANDED 150 #define FC_WEIGHT_DEMIBOLD 180 #define FC_HINT_MEDIUM 2 #define FC_MAJOR 2 #define FC_REVISION 2 #define FC_RGBA_BGR 2 #define FC_WEIGHT_BOLD 200 #define FC_WIDTH_ULTRAEXPANDED 200 #define FC_WEIGHT_EXTRABOLD 205 #define FC_WEIGHT_BLACK 210 #define FC_HINT_FULL 3 #define FC_MINOR 3 #define FC_RGBA_VRGB 3 #define FC_RGBA_VBGR 4 #define FC_WEIGHT_EXTRALIGHT 40 #define FC_RGBA_NONE 5 #define FC_WEIGHT_LIGHT 50 #define FC_WIDTH_ULTRACONDENSED 50 #define FC_UTF8_MAX_LEN 6 #define FC_WIDTH_EXTRACONDENSED 63 #define FC_WEIGHT_BOOK 75 #define FC_WIDTH_CONDENSED 75 #define FC_WEIGHT_REGULAR 80 #define FC_WIDTH_SEMICONDENSED 87 #define FC_DUAL 90 #define FC_ANTIALIAS "antialias" #define FC_ASPECT "aspect" #define FC_AUTOHINT "autohint" #define FC_CAPABILITY "capability" #define FC_CHAR_HEIGHT "charheight" #define FC_CHARSET "charset" #define FC_CHAR_WIDTH "charwidth" #define FC_DPI "dpi" #define FC_EMBOLDEN "embolden" #define FC_FAMILY "family" #define FC_FAMILYLANG "familylang" #define FC_WEIGHT_HEAVY FC_WEIGHT_BLACK #define FC_WEIGHT_SEMIBOLD FC_WEIGHT_DEMIBOLD #define FC_WEIGHT_ULTRABOLD FC_WEIGHT_EXTRABOLD #define FC_WEIGHT_ULTRALIGHT FC_WEIGHT_EXTRALIGHT #define FC_WEIGHT_NORMAL FC_WEIGHT_REGULAR #define FC_FILE "file" #define FC_FONTFORMAT "fontformat" #define FC_FONTVERSION "fontversion" #define FC_FOUNDRY "foundry" #define FC_FT_FACE "ftface" #define FC_FULLNAME "fullname" #define FC_FULLNAMELANG "fullnamelang" #define FC_GLOBAL_ADVANCE "globaladvance" #define FC_HINTING "hinting" #define FC_HINT_STYLE "hintstyle" #define FC_INDEX "index" #define FC_LANG "lang" #define FC_MATRIX "matrix" #define FC_MINSPACE "minspace" #define FC_OUTLINE "outline" #define FC_PIXEL_SIZE "pixelsize" #define FC_RASTERIZER "rasterizer" #define FC_RGBA "rgba" #define FC_SCALABLE "scalable" #define FC_SCALE "scale" #define FC_SIZE "size" #define FC_SLANT "slant" #define FC_SOURCE "source" #define FC_SPACING "spacing" #define FC_STYLE "style" #define FC_STYLELANG "stylelang" #define FC_VERTICAL_LAYOUT "verticallayout" #define FC_WEIGHT "weight" #define FC_WIDTH "width" typedef int FcBool; typedef struct _FcPattern FcPattern; typedef enum _FcType { FcTypeVoid = 0, FcTypeInteger = 1, FcTypeDouble = 2, FcTypeString = 3, FcTypeBool = 4, FcTypeMatrix = 5, FcTypeCharSet = 6, FcTypeFTFace = 7, FcTypeLangSet = 8 } FcType; typedef unsigned char FcChar8; typedef struct _FcMatrix { double xx; double xy; double yx; double yy; } FcMatrix; typedef struct _FcCharSet FcCharSet; typedef struct _FcLangSet FcLangSet; typedef struct _FcValue { FcType type; union { const FcChar8 *s; int i; FcBool b; double d; const FcMatrix *m; const FcCharSet *c; void *f; const FcPattern *p; const FcLangSet *l; } u; } FcValue; typedef struct _FcStrList FcStrList; typedef struct _FcConfig FcConfig; typedef struct _FcStrSet FcStrSet; typedef unsigned int FcChar32; typedef enum _FcMatchKind { FcMatchPattern = 0, FcMatchFont = 1 } FcMatchKind; typedef struct _FcObjectSet { int nobject; int sobject; const char **objects; } FcObjectSet; typedef enum { FcEndianBig = 0, FcEndianLittle = 1 } FcEndian; typedef struct _FcAtomic FcAtomic; typedef struct _FcConstant { const FcChar8 *name; const char *object; int value; } FcConstant; typedef struct _FcFontSet { int nfont; int sfont; FcPattern **fonts; } FcFontSet; typedef enum _FcSetName { FcSetSystem = 0, FcSetApplication = 1 } FcSetName; typedef struct _FcBlanks FcBlanks; typedef enum _FcResult { FcResultMatch = 0, FcResultNoMatch = 1, FcResultTypeMismatch = 2, FcResultNoId = 3, FcResultOutOfMemory = 4 } FcResult; typedef struct _FcObjectType { const char *object; FcType type; } FcObjectType; typedef struct _FcGlobalCache FcGlobalCache; typedef enum _FcLangResult { FcLangEqual = 0, FcLangDifferentCountry = 1, FcLangDifferentLang = 2 } FcLangResult; typedef short unsigned int FcChar16; extern FcBool FcPatternAdd(FcPattern *, const char *, FcValue, FcBool); extern FcStrList *FcConfigGetConfigFiles(FcConfig *); extern FcBool FcStrSetAdd(FcStrSet *, const FcChar8 *); extern FcBool FcCharSetIsSubset(const FcCharSet *, const FcCharSet *); extern void FcDefaultSubstitute(FcPattern *); extern FcChar32 FcCharSetIntersectCount(const FcCharSet *, const FcCharSet *); extern FcBool FcConfigUptoDate(FcConfig *); extern void FcPatternDestroy(FcPattern *); extern FcLangSet *FcLangSetCopy(const FcLangSet *); extern FcBool FcPatternAddCharSet(FcPattern *, const char *, const FcCharSet *); extern FcBool FcPatternAddLangSet(FcPattern *, const char *, const FcLangSet *); extern void FcConfigAppFontClear(FcConfig *); extern int FcConfigGetRescanInverval(FcConfig *); extern FcBool FcConfigSubstitute(FcConfig *, FcPattern *, FcMatchKind); extern FcObjectSet *FcObjectSetBuild(const char *, ...); extern FcBool FcObjectSetAdd(FcObjectSet *, const char *); extern FcChar32 FcCharSetSubtractCount(const FcCharSet *, const FcCharSet *); extern FcBool FcUtf16Len(const FcChar8 *, FcEndian, int, int *, int *); extern FcBool FcConfigBuildFonts(FcConfig *); extern FcChar8 *FcAtomicOrigFile(FcAtomic *); extern FcBool FcNameUnregisterConstants(const FcConstant *, int); extern FcBool FcConfigSetRescanInverval(FcConfig *, int); extern FcBool FcAtomicLock(FcAtomic *); extern FcPattern *FcPatternBuild(FcPattern *, ...); extern FcFontSet *FcConfigGetFonts(FcConfig *, FcSetName); extern void FcStrListDone(FcStrList *); extern FcBool FcLangSetEqual(const FcLangSet *, const FcLangSet *); extern const FcConstant *FcNameGetConstant(FcChar8 *); extern void FcMatrixShear(FcMatrix *, double, double); extern FcMatrix *FcMatrixCopy(const FcMatrix *); extern FcStrList *FcConfigGetConfigDirs(FcConfig *); extern FcBool FcStrSetDel(FcStrSet *, const FcChar8 *); extern FcBool FcConfigEnableHome(FcBool); extern FcStrSet *FcStrSetCreate(void); extern int FcStrCmpIgnoreCase(const FcChar8 *, const FcChar8 *); extern FcCharSet *FcCharSetUnion(const FcCharSet *, const FcCharSet *); extern FcObjectSet *FcObjectSetCreate(void); extern FcBlanks *FcBlanksCreate(void); extern void FcBlanksDestroy(FcBlanks *); extern FcBool FcNameConstant(FcChar8 *, int *); extern void FcMatrixRotate(FcMatrix *, double, double); extern FcPattern *FcNameParse(const FcChar8 *); extern void FcMatrixMultiply(FcMatrix *, const FcMatrix *, const FcMatrix *); extern FcResult FcPatternGetLangSet(const FcPattern *, const char *, int, FcLangSet * *); extern FcValue FcValueSave(FcValue); extern void FcAtomicDestroy(FcAtomic *); extern FcBool FcPatternEqual(const FcPattern *, const FcPattern *); extern FcBool FcNameRegisterObjectTypes(const FcObjectType *, int); extern FcChar32 FcCharSetNextPage(const FcCharSet *, FcChar32 *, FcChar32 *); extern FcBool FcConfigSetCurrent(FcConfig *); extern FcPattern *FcFreeTypeQuery(const FcChar8 *, int, FcBlanks *, int*); extern FcChar8 *FcStrListNext(FcStrList *); extern FcBool FcNameRegisterConstants(const FcConstant *, int); extern void FcValueDestroy(FcValue); extern FcBool FcFileScan(FcFontSet *, FcStrSet *, FcGlobalCache *, FcBlanks *, const FcChar8 *, FcBool); extern FcFontSet *FcFontSetSort(FcConfig *, FcFontSet * *, int, FcPattern *, FcBool, FcCharSet * *, FcResult *); extern FcResult FcPatternGetString(const FcPattern *, const char *, int, FcChar8 * *); extern FcChar8 *FcStrCopy(const FcChar8 *); extern FcBool FcPatternEqualSubset(const FcPattern *, const FcPattern *, const FcObjectSet *); extern FcConfig *FcInitLoadConfig(void); extern FcStrList *FcStrListCreate(FcStrSet *); extern FcResult FcPatternGetCharSet(const FcPattern *, const char *, int, FcCharSet * *); extern FcPattern *FcPatternCreate(void); extern FcChar32 FcPatternHash(const FcPattern *); extern FcChar8 *FcConfigFilename(const FcChar8 *); extern FcBool FcPatternDel(FcPattern *, const char *); extern FcCharSet *FcCharSetCopy(FcCharSet *); extern FcBool FcInitReinitialize(void); extern FcFontSet *FcFontList(FcConfig *, FcPattern *, FcObjectSet *); extern int FcUcs4ToUtf8(FcChar32, FcChar8 *); extern FcBool FcAtomicReplaceOrig(FcAtomic *); extern FcObjectSet *FcObjectSetVaBuild(const char *, va_list); extern FcBool FcInitBringUptoDate(void); extern FcResult FcPatternGetDouble(const FcPattern *, const char *, int, double *); extern int FcStrCmp(const FcChar8 *, const FcChar8 *); extern FcChar8 *FcConfigGetCache(FcConfig *); extern FcAtomic *FcAtomicCreate(const FcChar8 *); extern FcPattern *FcPatternDuplicate(const FcPattern *); extern FcChar8 *FcStrDirname(const FcChar8 *); extern FcBool FcConfigSubstituteWithPat(FcConfig *, FcPattern *, FcPattern *, FcMatchKind); extern FcBool FcDirScan(FcFontSet *, FcStrSet *, FcGlobalCache *, FcBlanks *, const FcChar8 *, FcBool); extern FcChar8 *FcStrCopyFilename(const FcChar8 *); extern FcBool FcLangSetAdd(FcLangSet *, const FcChar8 *); extern FcResult FcPatternGetInteger(const FcPattern *, const char *, int, int *); extern FcBool FcConfigParseAndLoad(FcConfig *, const FcChar8 *, FcBool); extern FcBool FcStrSetEqual(FcStrSet *, FcStrSet *); extern FcBool FcConfigAppFontAddFile(FcConfig *, const FcChar8 *); extern FcPattern *FcFontSetMatch(FcConfig *, FcFontSet * *, int, FcPattern *, FcResult *); extern FcBool FcStrSetAddFilename(FcStrSet *, const FcChar8 *); extern FcChar8 *FcNameUnparse(FcPattern *); extern FcChar32 FcCharSetFirstPage(const FcCharSet *, FcChar32 *, FcChar32 *); extern void FcFontSetPrint(const FcFontSet *); extern FcPattern *FcPatternVaBuild(FcPattern *, va_list); extern FcChar8 *FcConfigHome(void); extern FcBool FcBlanksAdd(FcBlanks *, FcChar32); extern FcBool FcBlanksIsMember(FcBlanks *, FcChar32); extern FcBool FcNameUnregisterObjectTypes(const FcObjectType *, int); extern FcLangResult FcLangSetHasLang(const FcLangSet *, const FcChar8 *); extern FcChar8 *FcStrBasename(const FcChar8 *); extern FcPattern *FcFontMatch(FcConfig *, FcPattern *, FcResult *); extern void FcValuePrint(const FcValue); extern FcLangSet *FcLangSetCreate(void); extern FcStrList *FcConfigGetFontDirs(FcConfig *); extern FcBool FcCharSetAddChar(FcCharSet *, FcChar32); extern FcCharSet *FcCharSetIntersect(const FcCharSet *, const FcCharSet*); extern void FcMatrixScale(FcMatrix *, double, double); extern void FcPatternReference(FcPattern *); extern FcBool FcCharSetEqual(const FcCharSet *, const FcCharSet *); extern FcBool FcFontSetAdd(FcFontSet *, FcPattern *); extern FcChar8 *FcAtomicNewFile(FcAtomic *); extern FcFontSet *FcFontSetList(FcConfig *, FcFontSet * *, int, FcPattern *, FcObjectSet *); extern void FcFontSetSortDestroy(FcFontSet *); extern FcBool FcPatternAddMatrix(FcPattern *, const char *, const FcMatrix *); extern FcChar32 FcCharSetCount(const FcCharSet *); extern FcBool FcPatternAddString(FcPattern *, const char *, const FcChar8 *); extern void FcStrSetDestroy(FcStrSet *); extern FcConfig *FcConfigGetCurrent(void); extern FcBool FcPatternAddInteger(FcPattern *, const char *, int); extern FcResult FcPatternGetMatrix(const FcPattern *, const char *, int, FcMatrix * *); extern int FcGetVersion(void); extern FcBool FcCharSetHasChar(const FcCharSet *, FcChar32); extern FcBool FcPatternAddBool(FcPattern *, const char *, FcBool); extern const FcObjectType *FcNameGetObjectType(const char *); extern FcBool FcDirCacheValid(const FcChar8 *); extern FcBool FcUtf8Len(const FcChar8 *, int, int *, int *); extern FcConfig *FcInitLoadConfigAndFonts(void); extern FcResult FcPatternGetBool(const FcPattern *, const char *, int, FcBool *); extern void FcFontSetDestroy(FcFontSet *); extern FcBool FcConfigAppFontAddDir(FcConfig *, const FcChar8 *); extern int FcUtf16ToUcs4(const FcChar8 *, FcEndian, FcChar32 *, int); extern int FcUtf8ToUcs4(const FcChar8 *, FcChar32 *, int); extern FcFontSet *FcFontSetCreate(void); extern FcBool FcDirSave(FcFontSet *, FcStrSet *, const FcChar8 *); extern void FcConfigDestroy(FcConfig *); extern FcBool FcPatternAddDouble(FcPattern *, const char *, double); extern FcFontSet *FcFontSort(FcConfig *, FcPattern *, FcBool, FcCharSet * *, FcResult *); extern FcPattern *FcFontRenderPrepare(FcConfig *, FcPattern *, FcPattern *); extern void FcLangSetDestroy(FcLangSet *); extern void FcCharSetDestroy(FcCharSet *); extern FcBool FcValueEqual(FcValue, FcValue); extern FcBool FcPatternAddWeak(FcPattern *, const char *, FcValue, FcBool); extern FcBool FcLangSetContains(const FcLangSet *, const FcLangSet *); extern void FcObjectSetDestroy(FcObjectSet *); extern FcCharSet *FcCharSetCreate(void); extern FcLangResult FcLangSetCompare(const FcLangSet *, const FcLangSet*); extern FcBool FcMatrixEqual(const FcMatrix *, const FcMatrix *); extern void FcAtomicUnlock(FcAtomic *); extern FcBool FcStrSetMember(FcStrSet *, const FcChar8 *); extern FcChar32 FcLangSetHash(const FcLangSet *); extern void FcAtomicDeleteNew(FcAtomic *); extern FcCharSet *FcCharSetSubtract(const FcCharSet *, const FcCharSet *); extern FcBool FcInit(void); extern FcResult FcPatternGet(const FcPattern *, const char *, int, FcValue *); extern void FcPatternPrint(const FcPattern *); extern FcBlanks *FcConfigGetBlanks(FcConfig *); __________________________________________________________ Chapter 11. Commands and Utilities 11.1. Commands and Utilities An LSB conforming implementation shall provide the commands and utilities as described in Table 11-1, with at least the behavior described as mandatory in the referenced underlying specification, with the following exceptions: 1. If any operand (except one which follows --) starts with a hyphen, the behavior is unspecified. Rationale (Informative): Applications should place options before operands, or use --, as needed. This text is needed because, by default, GNU option parsing differs from POSIX, unless the environment variable POSIXLY_CORRECT is set. For example, ls . -a in GNU ls means to list the current directory, showing all files (that is, "." is an operand and -a is an option). In POSIX, "." and -a are both operands, and the command means to list the current directory, and also the file named -a. Suggesting that applications rely on the setting of the POSIXLY_CORRECT environment variable, or try to set it, seems worse than just asking the applications to invoke commands in ways which work with either the POSIX or GNU behaviors. Table 11-1. Commands And Utilities fc-cache [1] fc-list [1] fc-match [1] Referenced Specification(s) [1]. This Specification __________________________________________________________ 11.2. Command Behavior Table of Contents fc-cache -- build font information cache files fc-list -- list available fonts. fc-match -- match available fonts This section contains descriptions for commands and utilities whose specified behavior in the LSB contradicts or extends the standards referenced. It also contains commands and utilities only required by the LSB and not specified by other standards. fc-cache Name fc-cache -- build font information cache files Description fc-cache scans the font directories on the system and builds font information cache files for applications using fontconfig for their font handling. If directory arguments are not given, fc-cache uses each directory in the current font configuration. Each directory is scanned for font files readable by FreeType. A cache is created which contains properties of each font and the associated filename. This cache is used to speed up application startup when using the fontconfig library. Synopsis fc-cache [ -fsvV? ] [ --force ] [ --system-only ] [ --verbose ] [ --version ] [ --help ] [ dirs ] Option and Operand Handling This program follows the usual GNU command line syntax, with long options starting with two dashes ('-'). A summary of options is included below. -f --force Force re-generation of apparently up-to-date cache files, overriding the timestamp checking. -s --system-only Only scan system-wide directories, omitting the places located in the user's home directory. -v --verbose Display status information while busy. -? --help Show summary of options. -V --version Show version of the program and exit. dirs A list of directories to scan for fonts. fc-list Name fc-list -- list available fonts. Description fc-list lists fonts and styles available on the system for applications using fontconfig. Synopsis fc-list [ -vV?] [ --verbose ] [ --version ] [ --help ] [ pattern ] [ element ] Option and Operand Handling This program follows the usual GNU command line syntax, with long options starting with two dashes ('-'). A summary of options is included below. -v --verbose Display status information while busy. -? --help Show summary of options. -V --version Show version of the program and exit. pattern If this argument is set, only fonts matching pattern are displayed. element If set, the element property is displayed for matching fonts. fc-match Name fc-match -- match available fonts Description fc-match matches font-pattern (empty pattern by default) using the normal fontconfig matching rules to find the best font available. If --sort is given, the sorted list of best matching fonts is displayed. With --verbose, the whole font pattern for each match is printed, otherwise only the file, family and style are printed. VII. Freetype library Table of Contents 12. Libraries 12.1. Interfaces for libfreetype 12.1.1. Default LibGroup for libfreetype 12.2. Data Definitions for libfreetype 12.2.1. freetype/config/ftheader.h 12.2.2. freetype/config/ftoption.h 12.2.3. freetype/config/ftstdlib.h 12.2.4. freetype/freetype.h 12.2.5. freetype/ftbbox.h 12.2.6. freetype/ftbdf.h 12.2.7. freetype/ftbitmap.h 12.2.8. freetype/fterrdef.h 12.2.9. freetype/fterrors.h 12.2.10. freetype/ftglyph.h 12.2.11. freetype/ftimage.h 12.2.12. freetype/ftincrem.h 12.2.13. freetype/ftlist.h 12.2.14. freetype/ftmm.h 12.2.15. freetype/ftmodapi.h 12.2.16. freetype/ftmoderr.h 12.2.17. freetype/ftotval.h 12.2.18. freetype/ftoutln.h 12.2.19. freetype/ftpfr.h 12.2.20. freetype/ftrender.h 12.2.21. freetype/ftsizes.h 12.2.22. freetype/ftsnames.h 12.2.23. freetype/ftstroke.h 12.2.24. freetype/ftsystem.h 12.2.25. freetype/fttrigon.h 12.2.26. freetype/fttypes.h 12.2.27. freetype/ftxf86.h 12.2.28. freetype/t1tables.h 12.2.29. freetype/ttnameid.h 12.2.30. freetype/tttables.h 12.2.31. freetype/tttags.h 12.2.32. freetype/ttunpat.h 12.3. Interface Definitions for libfreetype FT_Get_X11_Font_Format -- Get font format __________________________________________________________ Chapter 12. Libraries 12.1. Interfaces for libfreetype Table 12-1 defines the library name and shared object name for the libfreetype library Table 12-1. libfreetype Definition Library: libfreetype SONAME: libfreetype.so.6 The behavior of the interfaces in this library is specified by the following specifications: [freetype] FreeType Reference [LSB] This Specification __________________________________________________________ 12.1.1. Default LibGroup for libfreetype __________________________________________________________ 12.1.1.1. Interfaces for Default LibGroup for libfreetype An LSB conforming implementation shall provide the generic functions for Default LibGroup for libfreetype specified in Table 12-2, with the full mandatory functionality as described in the referenced underlying specification. Table 12-2. libfreetype - Default LibGroup for libfreetype Function Interfaces FT_Activate_Size [freetype] FT_Add_Default_Modules [freetype] FT_Add_Module [freetype] FT_Angle_Diff [freetype] FT_Atan2 [freetype] FT_Attach_File [freetype] FT_Attach_Stream [freetype] FT_Bitmap_Convert [freetype] FT_Bitmap_Copy [freetype] FT_Bitmap_Done [freetype] FT_Bitmap_Embolden [freetype] FT_Bitmap_New [freetype] FT_CeilFix [freetype] FT_Cos [freetype] FT_DivFix [freetype] FT_Done_Face [freetype] FT_Done_FreeType [freetype] FT_Done_Glyph [freetype] FT_Done_Library [freetype] FT_Done_Size [freetype] FT_FloorFix [freetype] FT_Get_BDF_Charset_ID [freetype] FT_Get_BDF_Property [freetype] FT_Get_CMap_Language_ID [freetype] FT_Get_Char_Index [freetype] FT_Get_Charmap_Index [freetype] FT_Get_First_Char [freetype] FT_Get_Glyph [freetype] FT_Get_Glyph_Name [freetype] FT_Get_Kerning [freetype] FT_Get_MM_Var [freetype] FT_Get_Module [freetype] FT_Get_Multi_Master [freetype] FT_Get_Name_Index [freetype] FT_Get_Next_Char [freetype] FT_Get_PFR_Advance [freetype] FT_Get_PFR_Kerning [freetype] FT_Get_PFR_Metrics [freetype] FT_Get_PS_Font_Info [freetype] FT_Get_PS_Font_Private [freetype] FT_Get_Postscript_Name [freetype] FT_Get_Renderer [freetype] FT_Get_Sfnt_Name [freetype] FT_Get_Sfnt_Name_Count [freetype] FT_Get_Sfnt_Table [freetype] FT_Get_X11_Font_Format [LSB] FT_Glyph_Copy [freetype] FT_Glyph_Get_CBox [freetype] FT_Glyph_Stroke [freetype] FT_Glyph_StrokeBorder [freetype] FT_Glyph_To_Bitmap [freetype] FT_Glyph_Transform [freetype] FT_Has_PS_Glyph_Names [freetype] FT_Init_FreeType [freetype] FT_Library_Version [freetype] FT_List_Add [freetype] FT_List_Finalize [freetype] FT_List_Find [freetype] FT_List_Insert [freetype] FT_List_Iterate [freetype] FT_List_Remove [freetype] FT_List_Up [freetype] FT_Load_Char [freetype] FT_Load_Glyph [freetype] FT_Load_Sfnt_Table [freetype] FT_Matrix_Invert [freetype] FT_Matrix_Multiply [freetype] FT_MulDiv [freetype] FT_MulFix [freetype] FT_New_Face [freetype] FT_New_Library [freetype] FT_New_Memory_Face [freetype] FT_New_Size [freetype] FT_OpenType_Validate [freetype] FT_Open_Face [freetype] FT_Outline_Check [freetype] FT_Outline_Copy [freetype] FT_Outline_Decompose [freetype] FT_Outline_Done [freetype] FT_Outline_GetInsideBorder [freetype] FT_Outline_GetOutsideBorder [freetype] FT_Outline_Get_BBox [freetype] FT_Outline_Get_Bitmap [freetype] FT_Outline_Get_CBox [freetype] FT_Outline_Get_Orientation [freetype] FT_Outline_New [freetype] FT_Outline_Render [freetype] FT_Outline_Reverse [freetype] FT_Outline_Transform [freetype] FT_Outline_Translate [freetype] FT_Remove_Module [freetype] FT_Render_Glyph [freetype] FT_RoundFix [freetype] FT_Select_Charmap [freetype] FT_Set_Char_Size [freetype] FT_Set_Charmap [freetype] FT_Set_Debug_Hook [freetype] FT_Set_MM_Blend_Coordinates [freetype] FT_Set_MM_Design_Coordinates [freetype] FT_Set_Pixel_Sizes [freetype] FT_Set_Renderer [freetype] FT_Set_Transform [freetype] FT_Set_Var_Blend_Coordinates [freetype] FT_Set_Var_Design_Coordinates [freetype] FT_Sfnt_Table_Info [freetype] FT_Sin [freetype] FT_Stroker_BeginSubPath [freetype] FT_Stroker_ConicTo [freetype] FT_Stroker_CubicTo [freetype] FT_Stroker_Done [freetype] FT_Stroker_EndSubPath [freetype] FT_Stroker_Export [freetype] FT_Stroker_ExportBorder [freetype] FT_Stroker_GetBorderCounts [freetype] FT_Stroker_GetCounts [freetype] FT_Stroker_LineTo [freetype] FT_Stroker_New [freetype] FT_Stroker_ParseOutline [freetype] FT_Stroker_Rewind [freetype] FT_Stroker_Set [freetype] FT_Tan [freetype] FT_Vector_From_Polar [freetype] FT_Vector_Length [freetype] FT_Vector_Polarize [freetype] FT_Vector_Rotate [freetype] FT_Vector_Transform [freetype] FT_Vector_Unit [freetype] __________________________________________________________ 12.2. Data Definitions for libfreetype This section defines global identifiers and their values that are associated with interfaces contained in libfreetype. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 12.2.1. freetype/config/ftheader.h #define FT_BEGIN_HEADER #define FT_END_HEADER #define FT_CONFIG_CONFIG_H #define FT_CONFIG_MODULES_H #define FT_CONFIG_OPTIONS_H #define FT_CONFIG_STANDARD_LIBRARY_H #define FT_FREETYPE_H #define FT_BBOX_H #define FT_BDF_H #define FT_BITMAP_H #define FT_CACHE_H #define FT_CACHE_INTERNAL_CACHE_H #define FT_CACHE_INTERNAL_GLYPH_H #define FT_CACHE_INTERNAL_IMAGE_H #define FT_CACHE_INTERNAL_MANAGER_H #define FT_CACHE_INTERNAL_MRU_H #define FT_CACHE_INTERNAL_SBITS_H #define FT_CACHE_MANAGER_H #define FT_ERROR_DEFINITIONS_H #define FT_ERRORS_H #define FT_GLYPH_H #define FT_GZIP_H #define FT_IMAGE_H #define FT_INCREMENTAL_H #define FT_LIST_H #define FT_LZW_H #define FT_MAC_H #define FT_MULTIPLE_MASTERS_H #define FT_MODULE_H #define FT_MODULE_ERRORS_H #define FT_OPENTYPE_VALIDATE_H #define FT_OUTLINE_H #define FT_RENDER_H #define FT_SIZES_H #define FT_SFNT_NAMES_H #define FT_STROKER_H #define FT_SYNTHESIS_H #define FT_SYSTEM_H #define FT_TRIGONOMETRY_H #define FT_TYPES_H #define FT_WINFONTS_H #define FT_XFREE86_H #define FT_TYPE1_TABLES_H #define FT_TRUETYPE_IDS_H #define FT_TRUETYPE_TABLES_H #define FT_TRUETYPE_TAGS_H #define FT_TRUETYPE_UNPATENTED_H #define FT_CACHE_CHARMAP_H FT_CACHE_H #define FT_CACHE_IMAGE_H FT_CACHE_H #define FT_CACHE_SMALL_BITMAPS_H FT_CACHE_H __________________________________________________________ 12.2.2. freetype/config/ftoption.h #define FT_CONFIG_OPTION_ADOBE_GLYPH_LIST #define FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK #define FT_CONFIG_OPTION_MAC_FONTS #define FT_CONFIG_OPTION_POSTSCRIPT_NAMES #define FT_CONFIG_OPTION_USE_LZW #define FT_CONFIG_OPTION_USE_ZLIB #define TT_CONFIG_CMAP_FORMAT_0 #define TT_CONFIG_CMAP_FORMAT_10 #define TT_CONFIG_CMAP_FORMAT_12 #define TT_CONFIG_CMAP_FORMAT_2 #define TT_CONFIG_CMAP_FORMAT_4 #define TT_CONFIG_CMAP_FORMAT_6 #define TT_CONFIG_CMAP_FORMAT_8 #define TT_CONFIG_OPTION_EMBEDDED_BITMAPS #define TT_CONFIG_OPTION_GX_VAR_SUPPORT #define TT_CONFIG_OPTION_INTERPRETER_SWITCH #define TT_CONFIG_OPTION_POSTSCRIPT_NAMES #define TT_CONFIG_OPTION_SFNT_NAMES #define TT_CONFIG_OPTION_UNPATENTED_HINTING #define T1_MAX_SUBRS_CALLS 16 #define FT_RENDER_POOL_SIZE 16384L #define T1_MAX_CHARSTRINGS_OPERANDS 256 #define FT_MAX_MODULES 32 #define T1_MAX_DICT_DEPTH 5 __________________________________________________________ 12.2.3. freetype/config/ftstdlib.h #define ft_atol atol #define ft_exit exit #define FT_INT_MAX INT_MAX #define ft_isalnum isalnum #define ft_isdigit isdigit #define ft_islower islower #define ft_isupper isupper #define ft_isxdigit isxdigit #define ft_jmp_buf jmp_buf #define ft_longjmp longjmp #define ft_memcmp memcmp #define ft_memcpy memcpy #define ft_memmove memmove #define ft_memset memset #define ft_ptrdiff_t ptrdiff_t #define ft_qsort qsort #define ft_setjmp setjmp #define ft_sprintf sprintf #define ft_strcat strcat #define ft_strcmp strcmp #define ft_strcpy strcpy #define ft_strlen strlen #define ft_strncmp strncmp #define ft_strncpy strncpy #define ft_strrchr strrchr #define FT_UINT_MAX UINT_MAX #define FT_ULONG_MAX ULONG_MAX __________________________________________________________ 12.2.4. freetype/freetype.h #define FT_HAS_FAST_GLYPHS(face) \ ( face->face_flags & FT_FACE_FLAG_FAST_GLYPHS ) #define FT_HAS_FIXED_SIZES(face) \ ( face->face_flags & FT_FACE_FLAG_FIXED_SIZES ) #define FT_IS_FIXED_WIDTH(face) \ ( face->face_flags & FT_FACE_FLAG_FIXED_WIDTH ) #define FT_HAS_GLYPH_NAMES(face) \ ( face->face_flags & FT_FACE_FLAG_GLYPH_NAMES ) #define FT_HAS_HORIZONTAL(face) \ ( face->face_flags & FT_FACE_FLAG_HORIZONTAL ) #define FT_HAS_MULTIPLE_MASTERS(face) \ ( face->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS ) #define FT_ENC_TAG(value,a,b,c,d) \ value = ( ( (FT_UInt32)(a) << 24 ) | ( (FT_UInt32)(b) << 16 ) |( \ (FT_UInt32)(c) << 8 ) | (FT_UInt32)(d) ) #define FT_LOAD_TARGET_(x) ( (FT_Int32)( (x) & 15 ) << 16 ) #define FT_LOAD_TARGET_MODE(x) ( (FT_Render_Mode)( ( (x) >16 ) & 15 ) ) #define FT_STYLE_FLAG_ITALIC ( 1 << 0 ) #define FT_STYLE_FLAG_BOLD ( 1 << 1 ) #define FT_FACE_FLAG_SCALABLE ( 1L << 0 ) #define FT_FACE_FLAG_FIXED_SIZES ( 1L << 1 ) #define FT_FACE_FLAG_EXTERNAL_STREAM ( 1L << 10 ) #define FT_FACE_FLAG_FIXED_WIDTH ( 1L << 2 ) #define FT_FACE_FLAG_SFNT ( 1L << 3 ) #define FT_FACE_FLAG_HORIZONTAL ( 1L << 4 ) #define FT_FACE_FLAG_VERTICAL ( 1L << 5 ) #define FT_FACE_FLAG_KERNING ( 1L << 6 ) #define FT_FACE_FLAG_FAST_GLYPHS ( 1L << 7 ) #define FT_FACE_FLAG_MULTIPLE_MASTERS ( 1L << 8 ) #define FT_FACE_FLAG_GLYPH_NAMES ( 1L << 9 ) #define FT_HAS_KERNING(face) ( face->face_flags & FT_FACE_FLAG_KERNING ) #define FT_IS_SCALABLE(face) ( face->face_flags & FT_FACE_FLAG_SCALABLE ) #define FT_IS_SFNT(face) ( face->face_flags & FT_FACE_FLAG_SFNT ) #define FT_HAS_VERTICAL(face) ( face->face_flags & FT_FACE_FLAG_VERTICAL ) #define FT_LOAD_DEFAULT 0x0 #define FT_LOAD_NO_SCALE 0x1 #define FT_OPEN_MEMORY 0x1 #define FT_LOAD_VERTICAL_LAYOUT 0x10 #define FT_OPEN_PARAMS 0x10 #define FT_LOAD_MONOCHROME 0x1000 #define FT_LOAD_NO_HINTING 0x2 #define FT_OPEN_STREAM 0x2 #define FT_LOAD_FORCE_AUTOHINT 0x20 #define FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH 0x200 #define FT_LOAD_LINEAR_DESIGN 0x2000 #define FT_LOAD_RENDER 0x4 #define FT_OPEN_PATHNAME 0x4 #define FT_LOAD_CROP_BITMAP 0x40 #define FT_LOAD_NO_RECURSE 0x400 #define FT_LOAD_SBITS_ONLY 0x4000 #define FT_LOAD_NO_BITMAP 0x8 #define FT_OPEN_DRIVER 0x8 #define FT_LOAD_PEDANTIC 0x80 #define FT_LOAD_IGNORE_TRANSFORM 0x800 #define FT_LOAD_NO_AUTOHINT 0x8000U #define FREETYPE_MINOR 1 #define FREETYPE_PATCH 10 #define FREETYPE_MAJOR 2 #define FT_LOAD_TARGET_LCD FT_LOAD_TARGET_( FT_RENDER_MODE_LCD ) #define FT_LOAD_TARGET_LCD_V FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V ) #define FT_LOAD_TARGET_LIGHT FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT ) #define FT_LOAD_TARGET_MONO FT_LOAD_TARGET_( FT_RENDER_MODE_MONO ) #define FT_LOAD_TARGET_NORMAL FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL ) typedef struct FT_FaceRec_ *FT_Face; typedef struct FT_ModuleRec_ *FT_Module; typedef struct FT_LibraryRec_ *FT_Library; typedef struct FT_ModuleRec_ FT_ModuleRec; typedef struct FT_RendererRec_ *FT_Renderer; struct FT_GlyphSlotRec_ { FT_Library library; FT_Face face; FT_GlyphSlot next; FT_UInt reserved; FT_Generic generic; FT_Glyph_Metrics metrics; FT_Fixed linearHoriAdvance; FT_Fixed linearVertAdvance; FT_Vector advance; FT_Glyph_Format format; FT_Bitmap bitmap; FT_Int bitmap_left; FT_Int bitmap_top; FT_Outline outline; FT_UInt num_subglyphs; FT_SubGlyph subglyphs; void *control_data; long int control_len; FT_Pos lsb_delta; FT_Pos rsb_delta; void *other; FT_Slot_Internal internal; }; typedef struct FT_GlyphSlotRec_ *FT_GlyphSlot; typedef struct FT_Glyph_Metrics_ { FT_Pos width; FT_Pos height; FT_Pos horiBearingX; FT_Pos horiBearingY; FT_Pos horiAdvance; FT_Pos vertBearingX; FT_Pos vertBearingY; FT_Pos vertAdvance; } FT_Glyph_Metrics; typedef struct FT_SubGlyphRec_ *FT_SubGlyph; typedef struct FT_Slot_InternalRec_ *FT_Slot_Internal; struct FT_CharMapRec_ { FT_Face face; FT_Encoding encoding; FT_UShort platform_id; FT_UShort encoding_id; }; typedef enum FT_Encoding_ { FT_ENCODING_NONE = 0, FT_ENCODING_MS_SYMBOL = 1937337698, FT_ENCODING_UNICODE = 1970170211, FT_ENCODING_SJIS = 1936353651, FT_ENCODING_GB2312 = 1734484000, FT_ENCODING_BIG5 = 1651074869, FT_ENCODING_WANSUNG = 2002873971, FT_ENCODING_JOHAB = 1785686113, FT_ENCODING_MS_SJIS = 1936353651, FT_ENCODING_MS_GB2312 = 1734484000, FT_ENCODING_MS_BIG5 = 1651074869, FT_ENCODING_MS_WANSUNG = 2002873971, FT_ENCODING_MS_JOHAB = 1785686113, FT_ENCODING_ADOBE_STANDARD = 1094995778, FT_ENCODING_ADOBE_EXPERT = 1094992453, FT_ENCODING_ADOBE_CUSTOM = 1094992451, FT_ENCODING_ADOBE_LATIN_1 = 1818326065, FT_ENCODING_OLD_LATIN_2 = 1818326066, FT_ENCODING_APPLE_ROMAN = 1634889070 } FT_Encoding; typedef struct FT_CharMapRec_ *FT_CharMap; typedef long int FT_F26Dot6; enum FT_Render_Mode_ { FT_RENDER_MODE_NORMAL = 0, FT_RENDER_MODE_LIGHT = 1, FT_RENDER_MODE_MONO = 2, FT_RENDER_MODE_LCD = 3, FT_RENDER_MODE_LCD_V = 4, FT_RENDER_MODE_MAX = 5 }; typedef enum FT_Render_Mode_ { FT_RENDER_MODE_NORMAL = 0, FT_RENDER_MODE_LIGHT = 1, FT_RENDER_MODE_MONO = 2, FT_RENDER_MODE_LCD = 3, FT_RENDER_MODE_LCD_V = 4, FT_RENDER_MODE_MAX = 5 } FT_Render_Mode; typedef struct FT_Parameter_ { FT_ULong tag; FT_Pointer data; } FT_Parameter; typedef struct FT_Open_Args_ { FT_UInt flags; const FT_Byte *memory_base; FT_Long memory_size; FT_String *pathname; FT_Stream stream; FT_Module driver; FT_Int num_params; FT_Parameter *params; } FT_Open_Args; struct FT_SizeRec_ { FT_Face face; FT_Generic generic; FT_Size_Metrics metrics; FT_Size_Internal internal; }; typedef struct FT_Size_Metrics_ { FT_UShort x_ppem; FT_UShort y_ppem; FT_Fixed x_scale; FT_Fixed y_scale; FT_Pos ascender; FT_Pos descender; FT_Pos height; FT_Pos max_advance; } FT_Size_Metrics; typedef struct FT_Size_InternalRec_ *FT_Size_Internal; typedef struct FT_SizeRec_ *FT_Size; typedef struct FT_Bitmap_Size_ { FT_Short height; FT_Short width; FT_Pos size; FT_Pos x_ppem; FT_Pos y_ppem; } FT_Bitmap_Size; typedef struct FT_Face_InternalRec_ *FT_Face_Internal; typedef struct FT_DriverRec_ *FT_Driver; typedef struct FT_FaceRec_ { FT_Long num_faces; FT_Long face_index; FT_Long face_flags; FT_Long style_flags; FT_Long num_glyphs; const FT_String *family_name; const FT_String *style_name; FT_Int num_fixed_sizes; FT_Bitmap_Size *available_sizes; FT_Int num_charmaps; FT_CharMap *charmaps; FT_Generic generic; FT_BBox bbox; FT_UShort units_per_EM; FT_Short ascender; FT_Short descender; FT_Short height; FT_Short max_advance_width; FT_Short max_advance_height; FT_Short underline_position; FT_Short underline_thickness; FT_GlyphSlot glyph; FT_Size size; FT_CharMap charmap; FT_Driver driver; FT_Memory memory; FT_Stream stream; FT_ListRec sizes_list; FT_Generic autohint; void *extensions; FT_Face_Internal internal; } FT_FaceRec; typedef enum FT_Kerning_Mode_ { FT_KERNING_DEFAULT = 0, FT_KERNING_UNFITTED = 1, FT_KERNING_UNSCALED = 2 } FT_Kerning_Mode; extern FT_Int FT_Get_Charmap_Index(FT_CharMap); extern FT_Fixed FT_RoundFix(FT_Fixed); extern FT_Fixed FT_CeilFix(FT_Fixed); extern FT_Error FT_Done_FreeType(FT_Library); extern FT_Error FT_Init_FreeType(FT_Library *); extern FT_ULong FT_Get_First_Char(FT_Face, FT_UInt *); extern FT_Error FT_Load_Char(FT_Face, FT_ULong, FT_Int32); extern void FT_Set_Transform(FT_Face, FT_Matrix *, FT_Vector *); extern void FT_Vector_Transform(FT_Vector *, const FT_Matrix *); extern FT_Error FT_Set_Charmap(FT_Face, FT_CharMap); extern FT_Error FT_Load_Glyph(FT_Face, FT_UInt, FT_Int32); extern FT_Error FT_New_Face(FT_Library, const char *, FT_Long, FT_Face *); extern FT_Error FT_Set_Pixel_Sizes(FT_Face, FT_UInt, FT_UInt); extern FT_ULong FT_Get_Next_Char(FT_Face, FT_ULong, FT_UInt *); extern FT_Fixed FT_FloorFix(FT_Fixed); extern const char *FT_Get_Postscript_Name(FT_Face); extern FT_Error FT_New_Memory_Face(FT_Library, const FT_Byte *, FT_Long, FT_Long, FT_Face *); extern FT_Error FT_Set_Char_Size(FT_Face, FT_F26Dot6, FT_F26Dot6, FT_UInt, FT_UInt); extern FT_Error FT_Get_Glyph_Name(FT_Face, FT_UInt, FT_Pointer, FT_UInt); extern FT_Long FT_MulDiv(FT_Long, FT_Long, FT_Long); extern FT_Long FT_DivFix(FT_Long, FT_Long); extern void FT_Library_Version(FT_Library, FT_Int *, FT_Int *, FT_Int *); extern FT_Error FT_Attach_File(FT_Face, const char *); extern FT_Error FT_Done_Face(FT_Face); extern FT_Long FT_MulFix(FT_Long, FT_Long); extern FT_Error FT_Select_Charmap(FT_Face, FT_Encoding); extern FT_Error FT_Render_Glyph(FT_GlyphSlot, FT_Render_Mode); extern FT_Error FT_Attach_Stream(FT_Face, FT_Open_Args *); extern FT_UInt FT_Get_Name_Index(FT_Face, FT_String *); extern FT_Error FT_Open_Face(FT_Library, const FT_Open_Args *, FT_Long, FT_Face *); extern FT_UInt FT_Get_Char_Index(FT_Face, FT_ULong); extern FT_Error FT_Get_Kerning(FT_Face, FT_UInt, FT_UInt, FT_UInt, FT_Vector *); __________________________________________________________ 12.2.5. freetype/ftbbox.h extern FT_Error FT_Outline_Get_BBox(FT_Outline *, FT_BBox *); __________________________________________________________ 12.2.6. freetype/ftbdf.h typedef enum BDF_PropertyType_ { BDF_PROPERTY_TYPE_NONE = 0, BDF_PROPERTY_TYPE_ATOM = 1, BDF_PROPERTY_TYPE_INTEGER = 2, BDF_PROPERTY_TYPE_CARDINAL = 3 } BDF_PropertyType; typedef struct BDF_PropertyRec_ { BDF_PropertyType type; union { const char *atom; FT_Int32 integer; FT_UInt32 cardinal; } u; } BDF_PropertyRec; extern FT_Error FT_Get_BDF_Property(FT_Face, const char *, BDF_PropertyRec *); extern FT_Error FT_Get_BDF_Charset_ID(FT_Face, const char **, const char **); __________________________________________________________ 12.2.7. freetype/ftbitmap.h extern FT_Error FT_Bitmap_Done(FT_Library, FT_Bitmap *); extern FT_Error FT_Bitmap_Convert(FT_Library, const FT_Bitmap *, FT_Bitmap *, FT_Int); extern void FT_Bitmap_New(FT_Bitmap *); extern FT_Error FT_Bitmap_Copy(FT_Library, const FT_Bitmap *, FT_Bitmap); extern FT_Error FT_Bitmap_Embolden(FT_Library, FT_Bitmap *, FT_Pos, FT_Pos); __________________________________________________________ 12.2.8. freetype/fterrdef.h #define FT_ERRORDEF_(e,v,s) \ FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v + FT_ERR_BASE, s) #define FT_NOERRORDEF_(e,v,s) \ FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v, s ) #define FT_ERR_BASE 0 #define FT_ERRORDEF(e,v,s) e = v, #define FT_ERROR_START_LIST enum { #define FT_ERR_PREFIX FT_Err_ #define FT_ERROR_END_LIST FT_ERR_CAT( FT_ERR_PREFIX, Max ) }; #define FT_ERR_CAT(x,y) FT_ERR_XCAT( x, y ) #define FT_ERR_XCAT(x,y) x ## y __________________________________________________________ 12.2.9. freetype/fterrors.h enum { FT_Err_Ok = 0x00, FT_Err_Cannot_Open_Resource = 0x01, FT_Err_Unknown_File_Format = 0x02, FT_Err_Invalid_File_Format = 0x03, FT_Err_Invalid_Version = 0x04, FT_Err_Lower_Module_Version = 0x05, FT_Err_Invalid_Argument = 0x06, FT_Err_Unimplemented_Feature = 0x07, FT_Err_Invalid_Table = 0x08, FT_Err_Invalid_Offset = 0x09, FT_Err_Invalid_Glyph_Index = 0x10, FT_Err_Invalid_Character_Code = 0x11, FT_Err_Invalid_Glyph_Format = 0x12, FT_Err_Cannot_Render_Glyph = 0x13, FT_Err_Invalid_Outline = 0x14, FT_Err_Invalid_Composite = 0x15, FT_Err_Too_Many_Hints = 0x16, FT_Err_Invalid_Pixel_Size = 0x17, FT_Err_Invalid_Handle = 0x20, FT_Err_Invalid_Library_Handle = 0x21, FT_Err_Invalid_Driver_Handle = 0x22, FT_Err_Invalid_Face_Handle = 0x23, FT_Err_Invalid_Size_Handle = 0x24, FT_Err_Invalid_Slot_Handle = 0x25, FT_Err_Invalid_CharMap_Handle = 0x26, FT_Err_Invalid_Cache_Handle = 0x27, FT_Err_Invalid_Stream_Handle = 0x28, FT_Err_Too_Many_Drivers = 0x30, FT_Err_Too_Many_Extensions = 0x31, FT_Err_Out_Of_Memory = 0x40, FT_Err_Unlisted_Object = 0x41, FT_Err_Cannot_Open_Stream = 0x51, FT_Err_Invalid_Stream_Seek = 0x52, FT_Err_Invalid_Stream_Skip = 0x53, FT_Err_Invalid_Stream_Read = 0x54, FT_Err_Invalid_Stream_Operation = 0x55, FT_Err_Invalid_Frame_Operation = 0x56, FT_Err_Nested_Frame_Access = 0x57, FT_Err_Invalid_Frame_Read = 0x58, FT_Err_Raster_Uninitialized = 0x60, FT_Err_Raster_Corrupted = 0x61, FT_Err_Raster_Overflow = 0x62, FT_Err_Raster_Negative_Height = 0x63, FT_Err_Too_Many_Caches = 0x70, FT_Err_Invalid_Opcode = 0x80, FT_Err_Too_Few_Arguments = 0x81, FT_Err_Stack_Overflow = 0x82, FT_Err_Code_Overflow = 0x83, FT_Err_Bad_Argument = 0x84, FT_Err_Divide_By_Zero = 0x85, FT_Err_Invalid_Reference = 0x86, FT_Err_Debug_OpCode = 0x87, FT_Err_ENDF_In_Exec_Stream = 0x88, FT_Err_Nested_DEFS = 0x89, FT_Err_Invalid_CodeRange = 0x8A, FT_Err_Execution_Too_Long = 0x8B, FT_Err_Too_Many_Function_Defs = 0x8C, FT_Err_Too_Many_Instruction_Defs = 0x8D, FT_Err_Table_Missing = 0x8E, FT_Err_Horiz_Header_Missing = 0x8F, FT_Err_Locations_Missing = 0x90, FT_Err_Name_Table_Missing = 0x91, FT_Err_CMap_Table_Missing = 0x92, FT_Err_Hmtx_Table_Missing = 0x93, FT_Err_Post_Table_Missing = 0x94, FT_Err_Invalid_Horiz_Metrics = 0x95, FT_Err_Invalid_CharMap_Format = 0x96, FT_Err_Invalid_PPem = 0x97, FT_Err_Invalid_Vert_Metrics = 0x98, FT_Err_Could_Not_Find_Context = 0x99, FT_Err_Invalid_Post_Table_Format = 0x9A, FT_Err_Invalid_Post_Table = 0x9B, FT_Err_Syntax_Error = 0xA0, FT_Err_Stack_Underflow = 0xA1, FT_Err_Ignore = 0xA2, FT_Err_Missing_Startfont_Field = 0xB0, FT_Err_Missing_Font_Field = 0xB1, FT_Err_Missing_Size_Field = 0xB2, FT_Err_Missing_Chars_Field = 0xB3, FT_Err_Missing_Startchar_Field = 0xB4, FT_Err_Missing_Encoding_Field = 0xB5, FT_Err_Missing_Bbx_Field = 0xB6, FT_Err_Bbx_Too_Big = 0xB7, FT_Err_Max = 0xB8 }; __________________________________________________________ 12.2.10. freetype/ftglyph.h typedef struct FT_Glyph_Class_ { FT_Long glyph_size; FT_Glyph_Format glyph_format; FT_Glyph_InitFunc glyph_init; FT_Glyph_DoneFunc glyph_done; FT_Glyph_CopyFunc glyph_copy; FT_Glyph_TransformFunc glyph_transform; FT_Glyph_GetBBoxFunc glyph_bbox; FT_Glyph_PrepareFunc glyph_prepare; } FT_Glyph_Class; typedef struct FT_GlyphRec_ *FT_Glyph; typedef FT_Error(*FT_Glyph_InitFunc) (FT_Glyph, FT_Glyph, FT_GlyphSlot, FT_GlyphSlot); typedef void (*FT_Glyph_DoneFunc) (FT_Glyph); typedef FT_Error(*FT_Glyph_CopyFunc) (FT_Glyph, FT_Glyph); typedef void (*FT_Glyph_TransformFunc) (FT_Glyph, FT_Matrix *, FT_Vector *); typedef void (*FT_Glyph_GetBBoxFunc) (FT_Glyph, FT_BBox *); typedef FT_Error(*FT_Glyph_PrepareFunc) (FT_Glyph, FT_Glyph, FT_GlyphSlot, FT_GlyphSlot); typedef enum FT_Glyph_BBox_Mode_ { FT_GLYPH_BBOX_UNSCALED = 0, FT_GLYPH_BBOX_SUBPIXELS = 0, FT_GLYPH_BBOX_GRIDFIT = 1, FT_GLYPH_BBOX_TRUNCATE = 2, FT_GLYPH_BBOX_PIXELS = 3 } FT_Glyph_BBox_Mode; struct FT_OutlineGlyphRec_ { FT_GlyphRec root; FT_Outline outline; }; typedef struct FT_OutlineGlyphRec_ *FT_OutlineGlyph; typedef struct FT_GlyphRec_ { FT_Library library; const FT_Glyph_Class *clazz; FT_Glyph_Format format; FT_Vector advance; } FT_GlyphRec; extern void FT_Done_Glyph(FT_Glyph); extern void FT_Matrix_Multiply(const FT_Matrix *, FT_Matrix *); extern FT_Error FT_Glyph_Transform(FT_Glyph, FT_Matrix *, FT_Vector *); extern FT_Error FT_Matrix_Invert(FT_Matrix *); extern FT_Error FT_Glyph_To_Bitmap(FT_Glyph *, FT_Render_Mode, FT_Vector *, FT_Bool); extern void FT_Glyph_Get_CBox(FT_Glyph, FT_UInt, FT_BBox *); extern FT_Error FT_Glyph_Copy(FT_Glyph, FT_Glyph *); extern FT_Error FT_Get_Glyph(FT_GlyphSlot, FT_Glyph *); __________________________________________________________ 12.2.11. freetype/ftimage.h #define FT_CURVE_TAG_TOUCH_BOTH \ ( FT_CURVE_TAG_TOUCH_X | FT_CURVE_TAG_TOUCH_Y ) #define FT_IMAGE_TAG(value,_x1,_x2,_x3,_x4) \ value = ( ( (unsigned long)_x1 << 24 ) | ( (unsigned long)_x2 << 16 ) \ | ( (unsigned long)_x3 << 8 ) | (unsigned long)_x4 ) #define FT_CURVE_TAG(flag) ( flag & 3 ) #define FT_CURVE_TAG_CONIC 0 #define FT_OUTLINE_NONE 0x0 #define FT_RASTER_FLAG_DEFAULT 0x0 #define FT_OUTLINE_OWNER 0x1 #define FT_RASTER_FLAG_AA 0x1 #define FT_OUTLINE_HIGH_PRECISION 0x100 #define FT_OUTLINE_EVEN_ODD_FILL 0x2 #define FT_RASTER_FLAG_DIRECT 0x2 #define FT_OUTLINE_SINGLE_PASS 0x200 #define FT_OUTLINE_REVERSE_FILL 0x4 #define FT_RASTER_FLAG_CLIP 0x4 #define FT_OUTLINE_IGNORE_DROPOUTS 0x8 #define FT_CURVE_TAG_ON 1 #define FT_CURVE_TAG_TOUCH_Y 16 #define FT_CURVE_TAG_CUBIC 2 #define FT_CURVE_TAG_TOUCH_X 8 #define FT_Curve_Tag_Conic FT_CURVE_TAG_CONIC #define FT_Curve_Tag_Cubic FT_CURVE_TAG_CUBIC #define FT_Curve_Tag_On FT_CURVE_TAG_ON #define FT_Curve_Tag_Touch_X FT_CURVE_TAG_TOUCH_X #define FT_Curve_Tag_Touch_Y FT_CURVE_TAG_TOUCH_Y #define FT_Outline_ConicTo_Func FT_Outline_ConicToFunc #define FT_Outline_CubicTo_Func FT_Outline_CubicToFunc #define FT_Outline_LineTo_Func FT_Outline_LineToFunc #define FT_Outline_MoveTo_Func FT_Outline_MoveToFunc #define FT_Raster_Done_Func FT_Raster_DoneFunc #define FT_Raster_New_Func FT_Raster_NewFunc #define FT_Raster_Render_Func FT_Raster_RenderFunc #define FT_Raster_Reset_Func FT_Raster_ResetFunc #define FT_Raster_Set_Mode_Func FT_Raster_SetModeFunc #define FT_Raster_Span_Func FT_SpanFunc typedef struct FT_Bitmap_ { int rows; int width; int pitch; unsigned char *buffer; short num_grays; char pixel_mode; char palette_mode; void *palette; } FT_Bitmap; typedef long int FT_Pos; typedef struct FT_Vector_ { FT_Pos x; FT_Pos y; } FT_Vector; typedef struct FT_Outline_ { short n_contours; short n_points; FT_Vector *points; char *tags; short int *contours; int flags; } FT_Outline; typedef enum FT_Glyph_Format_ { FT_GLYPH_FORMAT_NONE = 0, FT_GLYPH_FORMAT_COMPOSITE = 1668246896, FT_GLYPH_FORMAT_BITMAP = 1651078259, FT_GLYPH_FORMAT_OUTLINE = 1869968492, FT_GLYPH_FORMAT_PLOTTER = 1886154612 } FT_Glyph_Format; typedef struct FT_BBox_ { FT_Pos xMin; FT_Pos yMin; FT_Pos xMax; FT_Pos yMax; } FT_BBox; typedef struct FT_RasterRec_ *FT_Raster; typedef int (*FT_Raster_NewFunc) (void *, FT_Raster *); typedef void (*FT_Raster_ResetFunc) (FT_Raster, unsigned char *, long unsigned int); typedef int (*FT_Raster_SetModeFunc) (FT_Raster, long unsigned int, void *); typedef struct FT_Span_ { short x; unsigned short len; unsigned char coverage; } FT_Span; typedef void (*FT_SpanFunc) (int, int, int, int, FT_Span *, FT_Span *, void *, void *); typedef int (*FT_Raster_BitTest_Func) (int, int, void *); typedef void (*FT_Raster_BitSet_Func) (int, int, void *); typedef struct FT_Raster_Params_ { const FT_Bitmap *target; const void *source; int flags; FT_SpanFunc gray_spans; FT_SpanFunc black_spans; FT_Raster_BitTest_Func bit_test; FT_Raster_BitSet_Func bit_set; void *user; FT_BBox clip_box; } FT_Raster_Params; typedef int (*FT_Raster_RenderFunc) (FT_Raster, FT_Raster, FT_Raster_Params *, FT_Raster_Params *); typedef void (*FT_Raster_DoneFunc) (FT_Raster); typedef struct FT_Raster_Funcs_ { FT_Glyph_Format glyph_format; FT_Raster_NewFunc raster_new; FT_Raster_ResetFunc raster_reset; FT_Raster_SetModeFunc raster_set_mode; FT_Raster_RenderFunc raster_render; FT_Raster_DoneFunc raster_done; } FT_Raster_Funcs; typedef int (*FT_Outline_MoveToFunc) (FT_Vector *, void *); typedef int (*FT_Outline_LineToFunc) (FT_Vector *, void *); typedef int (*FT_Outline_ConicToFunc) (FT_Vector *, FT_Vector *, void *); typedef int (*FT_Outline_CubicToFunc) (FT_Vector *, FT_Vector *, FT_Vector *, void *); typedef struct FT_Outline_Funcs_ { FT_Outline_MoveToFunc move_to; FT_Outline_LineToFunc line_to; FT_Outline_ConicToFunc conic_to; FT_Outline_CubicToFunc cubic_to; int shift; FT_Pos delta; } FT_Outline_Funcs; __________________________________________________________ 12.2.12. freetype/ftincrem.h #define FT_PARAM_TAG_INCREMENTAL FT_MAKE_TAG( 'i', 'n', 'c', 'r') __________________________________________________________ 12.2.13. freetype/ftlist.h typedef void (*FT_List_Destructor) (FT_Memory, void *, void *); typedef FT_Error(*FT_List_Iterator) (FT_ListNode, void *); extern void FT_List_Finalize(FT_List, FT_List_Destructor, FT_Memory, void *); extern void FT_List_Insert(FT_List, FT_ListNode); extern FT_ListNode FT_List_Find(FT_List, void *); extern void FT_List_Remove(FT_List, FT_ListNode); extern void FT_List_Up(FT_List, FT_ListNode); extern void FT_List_Add(FT_List, FT_ListNode); extern FT_Error FT_List_Iterate(FT_List, FT_List_Iterator, void *); __________________________________________________________ 12.2.14. freetype/ftmm.h typedef struct FT_MM_Axis_ { FT_String *name; FT_Long minimum; FT_Long maximum; } FT_MM_Axis; typedef struct FT_Multi_Master_ { FT_UInt num_axis; FT_UInt num_designs; FT_MM_Axis axis[4]; } FT_Multi_Master; typedef struct FT_Var_Axis_ { FT_String *name; FT_Fixed minimum; FT_Fixed def; FT_Fixed maximum; FT_ULong tag; FT_UInt strid; } FT_Var_Axis; typedef struct FT_Var_Named_Style_ { FT_Fixed *coords; FT_UInt strid; } FT_Var_Named_Style; typedef struct FT_MM_Var_ { FT_UInt num_axis; FT_UInt num_designs; FT_UInt num_namedstyles; FT_Var_Axis *axis; FT_Var_Named_Style *namedstyle; } FT_MM_Var; extern FT_Error FT_Get_Multi_Master(FT_Face, FT_Multi_Master *); extern FT_Error FT_Set_MM_Design_Coordinates(FT_Face, FT_UInt, FT_Long *); extern FT_Error FT_Get_MM_Var(FT_Face, FT_MM_Var * *); extern FT_Error FT_Set_Var_Blend_Coordinates(FT_Face, FT_UInt, FT_Fixed*); extern FT_Error FT_Set_MM_Blend_Coordinates(FT_Face, FT_UInt, FT_Fixed *); extern FT_Error FT_Set_Var_Design_Coordinates(FT_Face, FT_UInt, FT_Fixed *); __________________________________________________________ 12.2.15. freetype/ftmodapi.h #define FT_MODULE_DRIVER_SCALABLE 0x100 #define FT_MODULE_DRIVER_NO_OUTLINES 0x200 #define FT_MODULE_DRIVER_HAS_HINTER 0x400 #define FT_MODULE_FONT_DRIVER 1 #define FT_MODULE_RENDERER 2 #define FT_MODULE_HINTER 4 #define FT_MODULE_STYLER 8 typedef FT_Error(*FT_Module_Constructor) (FT_Module); typedef void (*FT_Module_Destructor) (FT_Module); typedef FT_Pointer FT_Module_Interface; typedef FT_Module_Interface(*FT_Module_Requester) (FT_Module, const char *); typedef struct FT_Module_Class_ { FT_ULong module_flags; FT_Long module_size; const FT_String *module_name; FT_Fixed module_version; FT_Fixed module_requires; const void *module_interface; FT_Module_Constructor module_init; FT_Module_Destructor module_done; FT_Module_Requester get_interface; } FT_Module_Class; typedef void (*FT_DebugHook_Func) (void *); extern FT_Module FT_Get_Module(FT_Library, const char *); extern FT_Error FT_Done_Library(FT_Library); extern void FT_Set_Debug_Hook(FT_Library, FT_UInt, FT_DebugHook_Func); extern void FT_Add_Default_Modules(FT_Library); extern FT_Error FT_New_Library(FT_Memory, FT_Library *); extern FT_Error FT_Remove_Module(FT_Library, FT_Module); extern FT_Error FT_Add_Module(FT_Library, const FT_Module_Class *); __________________________________________________________ 12.2.16. freetype/ftmoderr.h #define FT_MODERR_START_LIST enum { #define FT_MODERRDEF(e,v,s) FT_Mod_Err_ ## e = 0, #define FT_MODERR_END_LIST FT_Mod_Err_Max }; __________________________________________________________ 12.2.17. freetype/ftotval.h #define FT_VALIDATE_OT \ FT_VALIDATE_BASE | FT_VALIDATE_GDEF | FT_VALIDATE_GPOS | \ FT_VALIDATE_GSUB | FT_VALIDATE_JSTF #define FT_VALIDATE_BASE 0x0100 #define FT_VALIDATE_GDEF 0x0200 #define FT_VALIDATE_GPOS 0x0400 #define FT_VALIDATE_GSUB 0x0800 #define FT_VALIDATE_JSTF 0x1000 extern FT_Error FT_OpenType_Validate(FT_Face, FT_UInt, FT_Bytes *, FT_Bytes *, FT_Bytes *, FT_Bytes *, FT_Bytes *); __________________________________________________________ 12.2.18. freetype/ftoutln.h typedef enum { FT_ORIENTATION_TRUETYPE = 0, FT_ORIENTATION_POSTSCRIPT = 1, FT_ORIENTATION_FILL_RIGHT = 0, FT_ORIENTATION_FILL_LEFT = 1 } FT_Orientation; extern void FT_Outline_Reverse(FT_Outline *); extern FT_Error FT_Outline_New(FT_Library, FT_UInt, FT_Int, FT_Outline *); extern void FT_Outline_Transform(const FT_Outline *, const FT_Matrix *); extern FT_Error FT_Outline_Done(FT_Library, FT_Outline *); extern void FT_Outline_Translate(const FT_Outline *, FT_Pos, FT_Pos); extern FT_Error FT_Outline_Render(FT_Library, FT_Outline *, FT_Raster_Params *); extern void FT_Outline_Get_CBox(const FT_Outline *, FT_BBox *); extern FT_Error FT_Outline_Get_Bitmap(FT_Library, FT_Outline *, const FT_Bitmap *); extern FT_Error FT_Outline_Decompose(FT_Outline *, const FT_Outline_Funcs *, void *); extern FT_Error FT_Outline_Check(FT_Outline *); extern FT_Error FT_Outline_Copy(const FT_Outline *, FT_Outline *); extern FT_Orientation FT_Outline_Get_Orientation(FT_Outline *); __________________________________________________________ 12.2.19. freetype/ftpfr.h extern FT_Error FT_Get_PFR_Advance(FT_Face, FT_UInt, FT_Pos *); extern FT_Error FT_Get_PFR_Metrics(FT_Face, FT_UInt *, FT_UInt *, FT_Fixed *, FT_Fixed *); extern FT_Error FT_Get_PFR_Kerning(FT_Face, FT_UInt, FT_UInt, FT_Vector*); __________________________________________________________ 12.2.20. freetype/ftrender.h #define FT_Glyph_Done_Func FT_Glyph_DoneFunc #define FT_Glyph_BBox_Func FT_Glyph_GetBBoxFunc #define FT_Glyph_Init_Func FT_Glyph_InitFunc #define FT_Glyph_Prepare_Func FT_Glyph_PrepareFunc #define FTRenderer_getCBox FT_Renderer_GetCBoxFunc #define FTRenderer_render FT_Renderer_RenderFunc #define FTRenderer_setMode FT_Renderer_SetModeFunc #define FTRenderer_transform FT_Renderer_TransformFunc typedef FT_Error(*FT_Renderer_RenderFunc) (FT_Renderer, FT_Renderer, FT_GlyphSlot, FT_GlyphSlot, FT_UInt, FT_UInt, FT_Vector *, FT_Vector *); typedef FT_Error(*FT_Renderer_TransformFunc) (FT_Renderer, FT_GlyphSlot, FT_Matrix *, FT_Vector *); typedef void (*FT_Renderer_GetCBoxFunc) (FT_Renderer, FT_GlyphSlot, FT_BBox *); typedef FT_Error(*FT_Renderer_SetModeFunc) (FT_Renderer, FT_ULong, FT_Pointer); typedef struct FT_Renderer_Class_ { FT_Module_Class root; FT_Glyph_Format glyph_format; FT_Renderer_RenderFunc render_glyph; FT_Renderer_TransformFunc transform_glyph; FT_Renderer_GetCBoxFunc get_glyph_cbox; FT_Renderer_SetModeFunc set_mode; FT_Raster_Funcs *raster_class; } FT_Renderer_Class; extern FT_Error FT_Set_Renderer(FT_Library, FT_Renderer, FT_UInt, FT_Parameter *); extern FT_Renderer FT_Get_Renderer(FT_Library, FT_Glyph_Format); __________________________________________________________ 12.2.21. freetype/ftsizes.h extern FT_Error FT_New_Size(FT_Face, FT_Size *); extern FT_Error FT_Activate_Size(FT_Size); extern FT_Error FT_Done_Size(FT_Size); __________________________________________________________ 12.2.22. freetype/ftsnames.h typedef struct FT_SfntName_ { FT_UShort platform_id; FT_UShort encoding_id; FT_UShort language_id; FT_UShort name_id; FT_Byte *string; FT_UInt string_len; } FT_SfntName; extern FT_Error FT_Get_Sfnt_Name(FT_Face, FT_UInt, FT_SfntName *); extern FT_UInt FT_Get_Sfnt_Name_Count(FT_Face); __________________________________________________________ 12.2.23. freetype/ftstroke.h typedef enum { FT_STROKER_LINECAP_BUTT = 0, FT_STROKER_LINECAP_ROUND = 1, FT_STROKER_LINECAP_SQUARE = 2 } FT_Stroker_LineCap; typedef enum { FT_STROKER_LINEJOIN_ROUND = 0, FT_STROKER_LINEJOIN_BEVEL = 1, FT_STROKER_LINEJOIN_MITER = 2 } FT_Stroker_LineJoin; typedef struct FT_StrokerRec_ *FT_Stroker; typedef enum { FT_STROKER_BORDER_LEFT = 0, FT_STROKER_BORDER_RIGHT = 1 } FT_StrokerBorder; extern FT_Error FT_Glyph_Stroke(FT_Glyph *, FT_Stroker, FT_Bool); extern FT_Error FT_Stroker_ConicTo(FT_Stroker, FT_Vector *, FT_Vector *); extern void FT_Stroker_Done(FT_Stroker); extern FT_StrokerBorder FT_Outline_GetInsideBorder(FT_Outline *); extern FT_Error FT_Stroker_ParseOutline(FT_Stroker, FT_Outline *, FT_Bool); extern FT_Error FT_Stroker_New(FT_Memory, FT_Stroker *); extern FT_Error FT_Stroker_BeginSubPath(FT_Stroker, FT_Vector *, FT_Bool); extern void FT_Stroker_Set(FT_Stroker, FT_Fixed, FT_Stroker_LineCap, FT_Stroker_LineJoin, FT_Fixed); extern void FT_Stroker_Rewind(FT_Stroker); extern FT_Error FT_Glyph_StrokeBorder(FT_Glyph *, FT_Stroker, FT_Bool, FT_Bool); extern FT_StrokerBorder FT_Outline_GetOutsideBorder(FT_Outline *); extern void FT_Stroker_Export(FT_Stroker, FT_Outline *); extern FT_Error FT_Stroker_GetCounts(FT_Stroker, FT_UInt *, FT_UInt *); extern FT_Error FT_Stroker_CubicTo(FT_Stroker, FT_Vector *, FT_Vector *, FT_Vector *); extern FT_Error FT_Stroker_LineTo(FT_Stroker, FT_Vector *); extern FT_Error FT_Stroker_GetBorderCounts(FT_Stroker, FT_StrokerBorder, FT_UInt *, FT_UInt *); extern FT_Error FT_Stroker_EndSubPath(FT_Stroker); extern void FT_Stroker_ExportBorder(FT_Stroker, FT_StrokerBorder, FT_Outline *); __________________________________________________________ 12.2.24. freetype/ftsystem.h struct FT_MemoryRec_ { void *user; FT_Alloc_Func alloc; FT_Free_Func free; FT_Realloc_Func realloc; }; typedef struct FT_MemoryRec_ *FT_Memory; typedef void *(*FT_Alloc_Func) (FT_Memory, long int); typedef void (*FT_Free_Func) (FT_Memory, void *); typedef void *(*FT_Realloc_Func) (FT_Memory, long int, long int, void *); struct FT_StreamRec_ { unsigned char *base; long unsigned int size; long unsigned int pos; FT_StreamDesc descriptor; FT_StreamDesc pathname; FT_Stream_IoFunc read; FT_Stream_CloseFunc close; FT_Memory memory; unsigned char *cursor; unsigned char *limit; }; union FT_StreamDesc_ { long int value; void *pointer; }; typedef union FT_StreamDesc_ { long int value; void *pointer; } FT_StreamDesc; typedef struct FT_StreamRec_ *FT_Stream; typedef long unsigned int (*FT_Stream_IoFunc) (FT_Stream, long unsigned int, unsigned char *, long unsigned int); typedef void (*FT_Stream_CloseFunc) (FT_Stream); __________________________________________________________ 12.2.25. freetype/fttrigon.h #define FT_ANGLE_PI ( 180L << 16 ) #define FT_ANGLE_2PI ( FT_ANGLE_PI * 2 ) #define FT_ANGLE_PI2 ( FT_ANGLE_PI / 2 ) #define FT_ANGLE_PI4 ( FT_ANGLE_PI / 4 ) typedef FT_Fixed FT_Angle; extern FT_Angle FT_Angle_Diff(FT_Angle, FT_Angle); extern FT_Fixed FT_Vector_Length(FT_Vector *); extern void FT_Vector_Rotate(FT_Vector *, FT_Angle); extern void FT_Vector_From_Polar(FT_Vector *, FT_Fixed, FT_Angle); extern void FT_Vector_Unit(FT_Vector *, FT_Angle); extern FT_Fixed FT_Tan(FT_Angle); extern FT_Fixed FT_Sin(FT_Angle); extern FT_Angle FT_Atan2(FT_Fixed, FT_Fixed); extern FT_Fixed FT_Cos(FT_Angle); extern void FT_Vector_Polarize(FT_Vector *, FT_Fixed *, FT_Angle *); __________________________________________________________ 12.2.26. freetype/fttypes.h #define FT_MAKE_TAG(_x1,_x2,_x3,_x4) \ ( ( (FT_ULong)_x1 << 24 ) | ( (FT_ULong)_x2 << 16 ) | ( (FT_ULong)_x3 \ << 8 ) | (FT_ULong)_x4 ) #define FT_BOOL(x) ( (FT_Bool)( x ) ) #define FT_IS_EMPTY(list) ( (list).head == 0 ) #define FT_ERROR_BASE(x) ( (x) & 0xFF ) #define FT_ERROR_MODULE(x) ( (x) & 0xFF00U ) typedef unsigned int FT_UInt; typedef struct FT_ListNodeRec_ *FT_ListNode; typedef struct FT_ListRec_ *FT_List; typedef int FT_Error; typedef void (*FT_Generic_Finalizer) (void *); typedef struct FT_Generic_ { void *data; FT_Generic_Finalizer finalizer; } FT_Generic; typedef int FT_Int; typedef long unsigned int FT_ULong; typedef long int FT_Long; typedef char FT_String; typedef long int FT_Fixed; typedef void *FT_Pointer; typedef struct FT_ListRec_ { FT_ListNode head; FT_ListNode tail; } FT_ListRec; typedef short unsigned int FT_UShort; typedef struct FT_Matrix_ { FT_Fixed xx; FT_Fixed xy; FT_Fixed yx; FT_Fixed yy; } FT_Matrix; typedef unsigned char FT_Bool; typedef unsigned char FT_Byte; typedef int FT_Int32; typedef unsigned int FT_UInt32; typedef const FT_Byte *FT_Bytes; typedef short int FT_Short; typedef struct FT_ListNodeRec_ { FT_ListNode prev; FT_ListNode next; void *data; } FT_ListNodeRec; __________________________________________________________ 12.2.27. freetype/ftxf86.h extern const char *FT_Get_X11_Font_Format(FT_Face); __________________________________________________________ 12.2.28. freetype/t1tables.h #define T1_MAX_MM_DESIGNS 16 #define T1_MAX_MM_MAP_POINTS 20 #define T1_MAX_MM_AXIS 4 #define t1_blend_blue_scale T1_BLEND_BLUE_SCALE #define t1_blend_blue_shift T1_BLEND_BLUE_SHIFT #define t1_blend_blue_values T1_BLEND_BLUE_VALUES #define t1_blend_family_blues T1_BLEND_FAMILY_BLUES #define t1_blend_family_other_blues T1_BLEND_FAMILY_OTHER_BLUES #define t1_blend_force_bold T1_BLEND_FORCE_BOLD #define t1_blend_italic_angle T1_BLEND_ITALIC_ANGLE #define t1_blend_max T1_BLEND_MAX #define t1_blend_other_blues T1_BLEND_OTHER_BLUES #define t1_blend_standard_height T1_BLEND_STANDARD_HEIGHT #define t1_blend_standard_widths T1_BLEND_STANDARD_WIDTH #define t1_blend_stem_snap_heights T1_BLEND_STEM_SNAP_HEIGHTS #define t1_blend_stem_snap_widths T1_BLEND_STEM_SNAP_WIDTHS #define t1_blend_underline_position T1_BLEND_UNDERLINE_POSITION #define t1_blend_underline_thickness T1_BLEND_UNDERLINE_THICKNESS typedef struct PS_PrivateRec_ { FT_Int unique_id; FT_Int lenIV; FT_Byte num_blue_values; FT_Byte num_other_blues; FT_Byte num_family_blues; FT_Byte num_family_other_blues; FT_Short blue_values[14]; FT_Short other_blues[10]; FT_Short family_blues[14]; FT_Short family_other_blues[10]; FT_Fixed blue_scale; FT_Int blue_shift; FT_Int blue_fuzz; FT_UShort standard_width[1]; FT_UShort standard_height[1]; FT_Byte num_snap_widths; FT_Byte num_snap_heights; FT_Bool force_bold; FT_Bool round_stem_up; FT_Short snap_widths[13]; FT_Short snap_heights[13]; FT_Fixed expansion_factor; FT_Long language_group; FT_Long password; FT_Short min_feature[2]; } PS_PrivateRec; typedef struct PS_FontInfoRec { FT_String *version; FT_String *notice; FT_String *full_name; FT_String *family_name; FT_String *weight; FT_Long italic_angle; FT_Bool is_fixed_pitch; FT_Short underline_position; FT_UShort underline_thickness; } PS_FontInfoRec; extern FT_Int FT_Has_PS_Glyph_Names(FT_Face); extern FT_Error FT_Get_PS_Font_Private(FT_Face, PS_PrivateRec *); extern FT_Error FT_Get_PS_Font_Info(FT_Face, PS_FontInfoRec *); __________________________________________________________ 12.2.29. freetype/ttnameid.h #define TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC \ TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN #define TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA \ TT_MS_LANGID_SEPEDI_SOUTH_AFRICA #define TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB \ TT_UCR_COMBINING_DIACRITICS_SYMB #define TT_UCR_BASIC_LATIN (1L << 0) #define TT_UCR_COMBINING_HALF_MARKS (1L << 0) #define TT_UCR_SUPERSCRIPTS_SUBSCRIPTS (1L << 0) #define TT_UCR_CJK_COMPATIBILITY_FORMS (1L << 1) #define TT_UCR_CURRENCY_SYMBOLS (1L << 1) #define TT_UCR_LATIN1_SUPPLEMENT (1L << 1) #define TT_UCR_ARMENIAN (1L << 10) #define TT_UCR_ENCLOSED_ALPHANUMERICS (1L << 10) #define TT_UCR_MYANMAR (1L << 10) #define TT_UCR_BOX_DRAWING (1L << 11) #define TT_UCR_ETHIOPIC (1L << 11) #define TT_UCR_HEBREW (1L << 11) #define TT_UCR_BLOCK_ELEMENTS (1L << 12) #define TT_UCR_CHEROKEE (1L << 12) #define TT_UCR_ARABIC (1L << 13) #define TT_UCR_CANADIAN_ABORIGINAL_SYLLABICS (1L << 13) #define TT_UCR_GEOMETRIC_SHAPES (1L << 13) #define TT_UCR_MISCELLANEOUS_SYMBOLS (1L << 14) #define TT_UCR_OGHAM (1L << 14) #define TT_UCR_DEVANAGARI (1L << 15) #define TT_UCR_DINGBATS (1L << 15) #define TT_UCR_RUNIC (1L << 15) #define TT_UCR_BENGALI (1L << 16) #define TT_UCR_CJK_SYMBOLS (1L << 16) #define TT_UCR_KHMER (1L << 16) #define TT_UCR_GURMUKHI (1L << 17) #define TT_UCR_HIRAGANA (1L << 17) #define TT_UCR_MONGOLIAN (1L << 17) #define TT_UCR_BRAILLE (1L << 18) #define TT_UCR_GUJARATI (1L << 18) #define TT_UCR_KATAKANA (1L << 18) #define TT_UCR_BOPOMOFO (1L << 19) #define TT_UCR_ORIYA (1L << 19) #define TT_UCR_YI (1L << 19) #define TT_UCR_COMBINING_DIACRITICS_SYMB (1L << 2) #define TT_UCR_LATIN_EXTENDED_A (1L << 2) #define TT_UCR_SMALL_FORM_VARIANTS (1L << 2) #define TT_UCR_HANGUL_COMPATIBILITY_JAMO (1L << 20) #define TT_UCR_PHILIPPINE (1L << 20) #define TT_UCR_TAMIL (1L << 20) #define TT_UCR_CJK_MISC (1L << 21) #define TT_UCR_OLD_ITALIC (1L << 21) #define TT_UCR_TELUGU (1L << 21) #define TT_UCR_ENCLOSED_CJK_LETTERS_MONTHS (1L << 22) #define TT_UCR_GOTHIC (1L << 22) #define TT_UCR_KANNADA (1L << 22) #define TT_UCR_CJK_COMPATIBILITY (1L << 23) #define TT_UCR_DESERET (1L << 23) #define TT_UCR_MALAYALAM (1L << 23) #define TT_UCR_HANGUL (1L << 24) #define TT_UCR_MUSICAL_SYMBOLS (1L << 24) #define TT_UCR_THAI (1L << 24) #define TT_UCR_LAO (1L << 25) #define TT_UCR_MATH_ALPHANUMERIC_SYMBOLS (1L << 25) #define TT_UCR_SURROGATES (1L << 25) #define TT_UCR_GEORGIAN (1L << 26) #define TT_UCR_PRIVATE_USE_SUPPLEMENTARY (1L << 26) #define TT_UCR_CJK_UNIFIED_IDEOGRAPHS (1L << 27) #define TT_UCR_VARIATION_SELECTORS (1L << 27) #define TT_UCR_HANGUL_JAMO (1L << 28) #define TT_UCR_PRIVATE_USE (1L << 28) #define TT_UCR_TAGS (1L << 28) #define TT_UCR_CJK_COMPATIBILITY_IDEOGRAPHS (1L << 29) #define TT_UCR_LATIN_EXTENDED_ADDITIONAL (1L << 29) #define TT_UCR_ARABIC_PRESENTATIONS_B (1L << 3) #define TT_UCR_LATIN_EXTENDED_B (1L << 3) #define TT_UCR_LETTERLIKE_SYMBOLS (1L << 3) #define TT_UCR_ALPHABETIC_PRESENTATION_FORMS (1L << 30) #define TT_UCR_GREEK_EXTENDED (1L << 30) #define TT_UCR_ARABIC_PRESENTATIONS_A (1L << 31) #define TT_UCR_GENERAL_PUNCTUATION (1L << 31) #define TT_UCR_HALFWIDTH_FULLWIDTH_FORMS (1L << 4) #define TT_UCR_IPA_EXTENSIONS (1L << 4) #define TT_UCR_NUMBER_FORMS (1L << 4) #define TT_UCR_ARROWS (1L << 5) #define TT_UCR_SPACING_MODIFIER (1L << 5) #define TT_UCR_SPECIALS (1L << 5) #define TT_UCR_COMBINING_DIACRITICS (1L << 6) #define TT_UCR_MATHEMATICAL_OPERATORS (1L << 6) #define TT_UCR_TIBETAN (1L << 6) #define TT_UCR_GREEK (1L << 7) #define TT_UCR_MISCELLANEOUS_TECHNICAL (1L << 7) #define TT_UCR_SYRIAC (1L << 7) #define TT_UCR_CONTROL_PICTURES (1L << 8) #define TT_UCR_THAANA (1L << 8) #define TT_UCR_CYRILLIC (1L << 9) #define TT_UCR_OCR (1L << 9) #define TT_UCR_SINHALA (1L << 9) #define TT_ADOBE_ID_STANDARD 0 #define TT_APPLE_ID_DEFAULT 0 #define TT_ISO_ID_7BIT_ASCII 0 #define TT_MAC_ID_ROMAN 0 #define TT_MAC_LANGID_ENGLISH 0 #define TT_MS_ID_SYMBOL_CS 0 #define TT_NAME_ID_COPYRIGHT 0 #define TT_PLATFORM_APPLE_UNICODE 0 #define TT_MS_LANGID_ARABIC_GENERAL 0x0001 #define TT_MS_LANGID_CHINESE_GENERAL 0x0004 #define TT_MS_LANGID_ENGLISH_GENERAL 0x0009 #define TT_MS_LANGID_ARABIC_SAUDI_ARABIA 0x0401 #define TT_MS_LANGID_BULGARIAN_BULGARIA 0x0402 #define TT_MS_LANGID_CATALAN_SPAIN 0x0403 #define TT_MS_LANGID_CHINESE_TAIWAN 0x0404 #define TT_MS_LANGID_CZECH_CZECH_REPUBLIC 0x0405 #define TT_MS_LANGID_DANISH_DENMARK 0x0406 #define TT_MS_LANGID_GERMAN_GERMANY 0x0407 #define TT_MS_LANGID_GREEK_GREECE 0x0408 #define TT_MS_LANGID_ENGLISH_UNITED_STATES 0x0409 #define TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT 0x040a #define TT_MS_LANGID_FINNISH_FINLAND 0x040b #define TT_MS_LANGID_FRENCH_FRANCE 0x040c #define TT_MS_LANGID_HEBREW_ISRAEL 0x040d #define TT_MS_LANGID_HUNGARIAN_HUNGARY 0x040e #define TT_MS_LANGID_ICELANDIC_ICELAND 0x040f #define TT_MS_LANGID_ITALIAN_ITALY 0x0410 #define TT_MS_LANGID_JAPANESE_JAPAN 0x0411 #define TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA 0x0412 #define TT_MS_LANGID_DUTCH_NETHERLANDS 0x0413 #define TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL 0x0414 #define TT_MS_LANGID_POLISH_POLAND 0x0415 #define TT_MS_LANGID_PORTUGUESE_BRAZIL 0x0416 #define TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND 0x0417 #define TT_MS_LANGID_ROMANIAN_ROMANIA 0x0418 #define TT_MS_LANGID_RUSSIAN_RUSSIA 0x0419 #define TT_MS_LANGID_CROATIAN_CROATIA 0x041a #define TT_MS_LANGID_SLOVAK_SLOVAKIA 0x041b #define TT_MS_LANGID_ALBANIAN_ALBANIA 0x041c #define TT_MS_LANGID_SWEDISH_SWEDEN 0x041d #define TT_MS_LANGID_THAI_THAILAND 0x041e #define TT_MS_LANGID_TURKISH_TURKEY 0x041f #define TT_MS_LANGID_URDU_PAKISTAN 0x0420 #define TT_MS_LANGID_INDONESIAN_INDONESIA 0x0421 #define TT_MS_LANGID_UKRAINIAN_UKRAINE 0x0422 #define TT_MS_LANGID_BELARUSIAN_BELARUS 0x0423 #define TT_MS_LANGID_SLOVENE_SLOVENIA 0x0424 #define TT_MS_LANGID_ESTONIAN_ESTONIA 0x0425 #define TT_MS_LANGID_LATVIAN_LATVIA 0x0426 #define TT_MS_LANGID_LITHUANIAN_LITHUANIA 0x0427 #define TT_MS_LANGID_TAJIK_TAJIKISTAN 0x0428 #define TT_MS_LANGID_FARSI_IRAN 0x0429 #define TT_MS_LANGID_VIETNAMESE_VIET_NAM 0x042a #define TT_MS_LANGID_ARMENIAN_ARMENIA 0x042b #define TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN 0x042c #define TT_MS_LANGID_BASQUE_SPAIN 0x042d #define TT_MS_LANGID_SORBIAN_GERMANY 0x042e #define TT_MS_LANGID_MACEDONIAN_MACEDONIA 0x042f #define TT_MS_LANGID_SUTU_SOUTH_AFRICA 0x0430 #define TT_MS_LANGID_TSONGA_SOUTH_AFRICA 0x0431 #define TT_MS_LANGID_TSWANA_SOUTH_AFRICA 0x0432 #define TT_MS_LANGID_VENDA_SOUTH_AFRICA 0x0433 #define TT_MS_LANGID_XHOSA_SOUTH_AFRICA 0x0434 #define TT_MS_LANGID_ZULU_SOUTH_AFRICA 0x0435 #define TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA 0x0436 #define TT_MS_LANGID_GEORGIAN_GEORGIA 0x0437 #define TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS 0x0438 #define TT_MS_LANGID_HINDI_INDIA 0x0439 #define TT_MS_LANGID_MALTESE_MALTA 0x043a #define TT_MS_LANGID_SAAMI_LAPONIA 0x043b #define TT_MS_LANGID_SAMI_NORTHERN_NORWAY 0x043b #define TT_MS_LANGID_IRISH_GAELIC_IRELAND 0x043c #define TT_MS_LANGID_YIDDISH_GERMANY 0x043d #define TT_MS_LANGID_MALAY_MALAYSIA 0x043e #define TT_MS_LANGID_KAZAK_KAZAKSTAN 0x043f #define TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN 0x0440 #define TT_MS_LANGID_SWAHILI_KENYA 0x0441 #define TT_MS_LANGID_TURKMEN_TURKMENISTAN 0x0442 #define TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN 0x0443 #define TT_MS_LANGID_TATAR_TATARSTAN 0x0444 #define TT_MS_LANGID_BENGALI_INDIA 0x0445 #define TT_MS_LANGID_PUNJABI_INDIA 0x0446 #define TT_MS_LANGID_GUJARATI_INDIA 0x0447 #define TT_MS_LANGID_ORIYA_INDIA 0x0448 #define TT_MS_LANGID_TAMIL_INDIA 0x0449 #define TT_MS_LANGID_TELUGU_INDIA 0x044a #define TT_MS_LANGID_KANNADA_INDIA 0x044b #define TT_MS_LANGID_MALAYALAM_INDIA 0x044c #define TT_MS_LANGID_ASSAMESE_INDIA 0x044d #define TT_MS_LANGID_MARATHI_INDIA 0x044e #define TT_MS_LANGID_SANSKRIT_INDIA 0x044f #define TT_MS_LANGID_MONGOLIAN_MONGOLIA 0x0450 #define TT_MS_LANGID_TIBETAN_CHINA 0x0451 #define TT_MS_LANGID_WELSH_WALES 0x0452 #define TT_MS_LANGID_KHMER_CAMBODIA 0x0453 #define TT_MS_LANGID_LAO_LAOS 0x0454 #define TT_MS_LANGID_BURMESE_MYANMAR 0x0455 #define TT_MS_LANGID_GALICIAN_SPAIN 0x0456 #define TT_MS_LANGID_KONKANI_INDIA 0x0457 #define TT_MS_LANGID_MANIPURI_INDIA 0x0458 #define TT_MS_LANGID_SINDHI_INDIA 0x0459 #define TT_MS_LANGID_SYRIAC_SYRIA 0x045a #define TT_MS_LANGID_SINHALESE_SRI_LANKA 0x045b #define TT_MS_LANGID_CHEROKEE_UNITED_STATES 0x045c #define TT_MS_LANGID_INUKTITUT_CANADA 0x045d #define TT_MS_LANGID_AMHARIC_ETHIOPIA 0x045e #define TT_MS_LANGID_TAMAZIGHT_MOROCCO 0x045f #define TT_MS_LANGID_KASHMIRI_PAKISTAN 0x0460 #define TT_MS_LANGID_NEPALI_NEPAL 0x0461 #define TT_MS_LANGID_FRISIAN_NETHERLANDS 0x0462 #define TT_MS_LANGID_PASHTO_AFGHANISTAN 0x0463 #define TT_MS_LANGID_FILIPINO_PHILIPPINES 0x0464 #define TT_MS_LANGID_DHIVEHI_MALDIVES 0x0465 #define TT_MS_LANGID_EDO_NIGERIA 0x0466 #define TT_MS_LANGID_FULFULDE_NIGERIA 0x0467 #define TT_MS_LANGID_HAUSA_NIGERIA 0x0468 #define TT_MS_LANGID_IBIBIO_NIGERIA 0x0469 #define TT_MS_LANGID_YORUBA_NIGERIA 0x046a #define TT_MS_LANGID_QUECHUA_BOLIVIA 0x046b #define TT_MS_LANGID_SEPEDI_SOUTH_AFRICA 0x046c #define TT_MS_LANGID_IGBO_NIGERIA 0x0470 #define TT_MS_LANGID_KANURI_NIGERIA 0x0471 #define TT_MS_LANGID_OROMO_ETHIOPIA 0x0472 #define TT_MS_LANGID_TIGRIGNA_ETHIOPIA 0x0473 #define TT_MS_LANGID_GUARANI_PARAGUAY 0x0474 #define TT_MS_LANGID_HAWAIIAN_UNITED_STATES 0x0475 #define TT_MS_LANGID_LATIN 0x0476 #define TT_MS_LANGID_SOMALI_SOMALIA 0x0477 #define TT_MS_LANGID_YI_CHINA 0x0478 #define TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES 0x0479 #define TT_MS_LANGID_UIGHUR_CHINA 0x0480 #define TT_MS_LANGID_MAORI_NEW_ZEALAND 0x0481 #define TT_MS_LANGID_ARABIC_IRAQ 0x0801 #define TT_MS_LANGID_CHINESE_PRC 0x0804 #define TT_MS_LANGID_GERMAN_SWITZERLAND 0x0807 #define TT_MS_LANGID_ENGLISH_UNITED_KINGDOM 0x0809 #define TT_MS_LANGID_SPANISH_MEXICO 0x080a #define TT_MS_LANGID_FRENCH_BELGIUM 0x080c #define TT_MS_LANGID_ITALIAN_SWITZERLAND 0x0810 #define TT_MS_LANGID_KOREAN_JOHAB_KOREA 0x0812 #define TT_MS_LANGID_DUTCH_BELGIUM 0x0813 #define TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK 0x0814 #define TT_MS_LANGID_PORTUGUESE_PORTUGAL 0x0816 #define TT_MS_LANGID_MOLDAVIAN_MOLDAVIA 0x0818 #define TT_MS_LANGID_RUSSIAN_MOLDAVIA 0x0819 #define TT_MS_LANGID_SERBIAN_SERBIA_LATIN 0x081a #define TT_MS_LANGID_SWEDISH_FINLAND 0x081d #define TT_MS_LANGID_URDU_INDIA 0x0820 #define TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA 0x0827 #define TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC 0x082c #define TT_MS_LANGID_SAMI_NORTHERN_SWEDEN 0x083b #define TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM 0x083c #define TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM 0x083e #define TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC 0x0843 #define TT_MS_LANGID_BENGALI_BANGLADESH 0x0845 #define TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN 0x0846 #define TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN 0x0850 #define TT_MS_LANGID_DZONGHKA_BHUTAN 0x0851 #define TT_MS_LANGID_SINDHI_PAKISTAN 0x0859 #define TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN 0x085f #define TT_MS_LANGID_KASHMIRI_SASIA 0x0860 #define TT_MS_LANGID_NEPALI_INDIA 0x0861 #define TT_MS_LANGID_QUECHUA_ECUADOR 0x086b #define TT_MS_LANGID_TIGRIGNA_ERYTHREA 0x0873 #define TT_MS_LANGID_ARABIC_EGYPT 0x0c01 #define TT_MS_LANGID_CHINESE_HONG_KONG 0x0c04 #define TT_MS_LANGID_GERMAN_AUSTRIA 0x0c07 #define TT_MS_LANGID_ENGLISH_AUSTRALIA 0x0c09 #define TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT 0x0c0a #define TT_MS_LANGID_FRENCH_CANADA 0x0c0c #define TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC 0x0c1a #define TT_MS_LANGID_SAMI_NORTHERN_FINLAND 0x0C3b #define TT_MS_LANGID_QUECHUA_PERU 0x0c6b #define TT_MS_LANGID_ARABIC_LIBYA 0x1001 #define TT_MS_LANGID_CHINESE_SINGAPORE 0x1004 #define TT_MS_LANGID_GERMAN_LUXEMBOURG 0x1007 #define TT_MS_LANGID_ENGLISH_CANADA 0x1009 #define TT_MS_LANGID_SPANISH_GUATEMALA 0x100a #define TT_MS_LANGID_FRENCH_SWITZERLAND 0x100c #define TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA 0x101a #define TT_MS_LANGID_SAMI_LULE_NORWAY 0x103b #define TT_MS_LANGID_ARABIC_ALGERIA 0x1401 #define TT_MS_LANGID_CHINESE_MACAU 0x1404 #define TT_MS_LANGID_GERMAN_LIECHTENSTEI 0x1407 #define TT_MS_LANGID_ENGLISH_NEW_ZEALAND 0x1409 #define TT_MS_LANGID_SPANISH_COSTA_RICA 0x140a #define TT_MS_LANGID_FRENCH_LUXEMBOURG 0x140c #define TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA 0x141a #define TT_MS_LANGID_SAMI_LULE_SWEDEN 0x143b #define TT_MS_LANGID_ARABIC_MOROCCO 0x1801 #define TT_MS_LANGID_ENGLISH_IRELAND 0x1809 #define TT_MS_LANGID_SPANISH_PANAMA 0x180a #define TT_MS_LANGID_FRENCH_MONACO 0x180c #define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC 0x181a #define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN 0x181a #define TT_MS_LANGID_SAMI_SOUTHERN_NORWAY 0x183b #define TT_MS_LANGID_ARABIC_TUNISIA 0x1c01 #define TT_MS_LANGID_ENGLISH_SOUTH_AFRICA 0x1c09 #define TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC 0x1c0a #define TT_MS_LANGID_FRENCH_WEST_INDIES 0x1c0c #define TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN 0x1C3b #define TT_MS_LANGID_ARABIC_OMAN 0x2001 #define TT_MS_LANGID_ENGLISH_JAMAICA 0x2009 #define TT_MS_LANGID_SPANISH_VENEZUELA 0x200a #define TT_MS_LANGID_FRENCH_REUNION 0x200c #define TT_MS_LANGID_SAMI_SKOLT_FINLAND 0x203b #define TT_MS_LANGID_ARABIC_YEMEN 0x2401 #define TT_MS_LANGID_ENGLISH_CARIBBEAN 0x2409 #define TT_MS_LANGID_SPANISH_COLOMBIA 0x240a #define TT_MS_LANGID_FRENCH_CONGO 0x240c #define TT_MS_LANGID_SAMI_INARI_FINLAND 0x243b #define TT_MS_LANGID_ARABIC_SYRIA 0x2801 #define TT_MS_LANGID_ENGLISH_BELIZE 0x2809 #define TT_MS_LANGID_SPANISH_PERU 0x280a #define TT_MS_LANGID_FRENCH_SENEGAL 0x280c #define TT_MS_LANGID_ARABIC_JORDAN 0x2c01 #define TT_MS_LANGID_ENGLISH_TRINIDAD 0x2c09 #define TT_MS_LANGID_SPANISH_ARGENTINA 0x2c0a #define TT_MS_LANGID_FRENCH_CAMEROON 0x2c0c #define TT_MS_LANGID_ARABIC_LEBANON 0x3001 #define TT_MS_LANGID_ENGLISH_ZIMBABWE 0x3009 #define TT_MS_LANGID_SPANISH_ECUADOR 0x300a #define TT_MS_LANGID_FRENCH_COTE_D_IVOIRE 0x300c #define TT_MS_LANGID_ARABIC_KUWAIT 0x3401 #define TT_MS_LANGID_ENGLISH_PHILIPPINES 0x3409 #define TT_MS_LANGID_SPANISH_CHILE 0x340a #define TT_MS_LANGID_FRENCH_MALI 0x340c #define TT_MS_LANGID_ARABIC_UAE 0x3801 #define TT_MS_LANGID_ENGLISH_INDONESIA 0x3809 #define TT_MS_LANGID_SPANISH_URUGUAY 0x380a #define TT_MS_LANGID_FRENCH_MOROCCO 0x380c #define TT_MS_LANGID_ARABIC_BAHRAIN 0x3c01 #define TT_MS_LANGID_ENGLISH_HONG_KONG 0x3c09 #define TT_MS_LANGID_SPANISH_PARAGUAY 0x3c0a #define TT_MS_LANGID_FRENCH_HAITI 0x3c0c #define TT_MS_LANGID_ARABIC_QATAR 0x4001 #define TT_MS_LANGID_ENGLISH_INDIA 0x4009 #define TT_MS_LANGID_SPANISH_BOLIVIA 0x400a #define TT_MS_LANGID_ENGLISH_MALAYSIA 0x4409 #define TT_MS_LANGID_SPANISH_EL_SALVADOR 0x440a #define TT_MS_LANGID_ENGLISH_SINGAPORE 0x4809 #define TT_MS_LANGID_SPANISH_HONDURAS 0x480a #define TT_MS_LANGID_SPANISH_NICARAGUA 0x4c0a #define TT_MS_LANGID_SPANISH_PUERTO_RICO 0x500a #define TT_MS_LANGID_SPANISH_UNITED_STATES 0x540a #define TT_MS_LANGID_SPANISH_LATIN_AMERICA 0xE40aU #define TT_MS_LANGID_FRENCH_NORTH_AFRICA 0xE40cU #define TT_ADOBE_ID_EXPERT 1 #define TT_APPLE_ID_UNICODE_1_1 1 #define TT_ISO_ID_10646 1 #define TT_MAC_ID_JAPANESE 1 #define TT_MAC_LANGID_FRENCH 1 #define TT_MS_ID_UNICODE_CS 1 #define TT_NAME_ID_FONT_FAMILY 1 #define TT_PLATFORM_MACINTOSH 1 #define TT_MAC_ID_GURMUKHI 10 #define TT_MAC_LANGID_HEBREW 10 #define TT_MS_ID_UCS_4 10 #define TT_NAME_ID_DESCRIPTION 10 #define TT_MAC_ID_GUJARATI 11 #define TT_MAC_LANGID_JAPANESE 11 #define TT_NAME_ID_VENDOR_URL 11 #define TT_MAC_ID_ORIYA 12 #define TT_MAC_LANGID_ARABIC 12 #define TT_NAME_ID_DESIGNER_URL 12 #define TT_MAC_LANGID_WELSH 128 #define TT_MAC_LANGID_BASQUE 129 #define TT_MAC_ID_BENGALI 13 #define TT_MAC_LANGID_FINNISH 13 #define TT_NAME_ID_LICENSE 13 #define TT_MAC_LANGID_CATALAN 130 #define TT_MAC_LANGID_LATIN 131 #define TT_MAC_LANGID_QUECHUA 132 #define TT_MAC_LANGID_GUARANI 133 #define TT_MAC_LANGID_AYMARA 134 #define TT_MAC_LANGID_TATAR 135 #define TT_MAC_LANGID_UIGHUR 136 #define TT_MAC_LANGID_DZONGKHA 137 #define TT_MAC_LANGID_JAVANESE 138 #define TT_MAC_LANGID_SUNDANESE 139 #define TT_MAC_ID_TAMIL 14 #define TT_MAC_LANGID_GREEK 14 #define TT_NAME_ID_LICENSE_URL 14 #define TT_MAC_LANGID_GALICIAN 140 #define TT_MAC_LANGID_AFRIKAANS 141 #define TT_MAC_LANGID_BRETON 142 #define TT_MAC_LANGID_INUKTITUT 143 #define TT_MAC_LANGID_SCOTTISH_GAELIC 144 #define TT_MAC_LANGID_MANX_GAELIC 145 #define TT_MAC_LANGID_IRISH_GAELIC 146 #define TT_MAC_LANGID_TONGAN 147 #define TT_MAC_LANGID_GREEK_POLYTONIC 148 #define TT_MAC_LANGID_GREELANDIC 149 #define TT_MAC_ID_TELUGU 15 #define TT_MAC_LANGID_ICELANDIC 15 #define TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT 150 #define TT_MAC_ID_KANNADA 16 #define TT_MAC_LANGID_MALTESE 16 #define TT_NAME_ID_PREFERRED_FAMILY 16 #define TT_MAC_ID_MALAYALAM 17 #define TT_MAC_LANGID_TURKISH 17 #define TT_NAME_ID_PREFERRED_SUBFAMILY 17 #define TT_MAC_ID_SINHALESE 18 #define TT_MAC_LANGID_CROATIAN 18 #define TT_NAME_ID_MAC_FULL_NAME 18 #define TT_MAC_ID_BURMESE 19 #define TT_MAC_LANGID_CHINESE_TRADITIONAL 19 #define TT_NAME_ID_SAMPLE_TEXT 19 #define TT_ADOBE_ID_CUSTOM 2 #define TT_APPLE_ID_ISO_10646 2 #define TT_ISO_ID_8859_1 2 #define TT_MAC_ID_TRADITIONAL_CHINESE 2 #define TT_MAC_LANGID_GERMAN 2 #define TT_MS_ID_SJIS 2 #define TT_NAME_ID_FONT_SUBFAMILY 2 #define TT_PLATFORM_ISO 2 #define TT_MAC_ID_KHMER 20 #define TT_MAC_LANGID_URDU 20 #define TT_NAME_ID_CID_FINDFONT_NAME 20 #define TT_MAC_ID_THAI 21 #define TT_MAC_LANGID_HINDI 21 #define TT_MAC_ID_LAOTIAN 22 #define TT_MAC_LANGID_THAI 22 #define TT_MAC_ID_GEORGIAN 23 #define TT_MAC_LANGID_KOREAN 23 #define TT_MAC_ID_ARMENIAN 24 #define TT_MAC_LANGID_LITHUANIAN 24 #define TT_MAC_ID_MALDIVIAN 25 #define TT_MAC_ID_SIMPLIFIED_CHINESE 25 #define TT_MAC_LANGID_POLISH 25 #define TT_MAC_ID_TIBETAN 26 #define TT_MAC_LANGID_HUNGARIAN 26 #define TT_MAC_ID_MONGOLIAN 27 #define TT_MAC_LANGID_ESTONIAN 27 #define TT_MAC_ID_GEEZ 28 #define TT_MAC_LANGID_LETTISH 28 #define TT_MAC_ID_SLAVIC 29 #define TT_MAC_LANGID_SAAMISK 29 #define TT_ADOBE_ID_LATIN_1 3 #define TT_APPLE_ID_UNICODE_2_0 3 #define TT_MAC_ID_KOREAN 3 #define TT_MAC_LANGID_ITALIAN 3 #define TT_MS_ID_GB2312 3 #define TT_NAME_ID_UNIQUE_ID 3 #define TT_PLATFORM_MICROSOFT 3 #define TT_MAC_ID_VIETNAMESE 30 #define TT_MAC_LANGID_FAEROESE 30 #define TT_MAC_ID_SINDHI 31 #define TT_MAC_LANGID_FARSI 31 #define TT_MAC_ID_UNINTERP 32 #define TT_MAC_LANGID_RUSSIAN 32 #define TT_MAC_LANGID_CHINESE_SIMPLIFIED 33 #define TT_MAC_LANGID_FLEMISH 34 #define TT_MAC_LANGID_IRISH 35 #define TT_MAC_LANGID_ALBANIAN 36 #define TT_MAC_LANGID_ROMANIAN 37 #define TT_MAC_LANGID_CZECH 38 #define TT_MAC_LANGID_SLOVAK 39 #define TT_APPLE_ID_UNICODE_32 4 #define TT_MAC_ID_ARABIC 4 #define TT_MAC_LANGID_DUTCH 4 #define TT_MS_ID_BIG_5 4 #define TT_NAME_ID_FULL_NAME 4 #define TT_PLATFORM_CUSTOM 4 #define TT_MAC_LANGID_SLOVENIAN 40 #define TT_MAC_LANGID_YIDDISH 41 #define TT_MAC_LANGID_SERBIAN 42 #define TT_MAC_LANGID_MACEDONIAN 43 #define TT_MAC_LANGID_BULGARIAN 44 #define TT_MAC_LANGID_UKRAINIAN 45 #define TT_MAC_LANGID_BYELORUSSIAN 46 #define TT_MAC_LANGID_UZBEK 47 #define TT_MAC_LANGID_KAZAKH 48 #define TT_MAC_LANGID_AZERBAIJANI 49 #define TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT 49 #define TT_MAC_ID_HEBREW 5 #define TT_MAC_LANGID_SWEDISH 5 #define TT_MS_ID_WANSUNG 5 #define TT_NAME_ID_VERSION_STRING 5 #define TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT 50 #define TT_MAC_LANGID_ARMENIAN 51 #define TT_MAC_LANGID_GEORGIAN 52 #define TT_MAC_LANGID_MOLDAVIAN 53 #define TT_MAC_LANGID_KIRGHIZ 54 #define TT_MAC_LANGID_TAJIKI 55 #define TT_MAC_LANGID_TURKMEN 56 #define TT_MAC_LANGID_MONGOLIAN 57 #define TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT 57 #define TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT 58 #define TT_MAC_LANGID_PASHTO 59 #define TT_MAC_ID_GREEK 6 #define TT_MAC_LANGID_SPANISH 6 #define TT_MS_ID_JOHAB 6 #define TT_NAME_ID_PS_NAME 6 #define TT_MAC_LANGID_KURDISH 60 #define TT_MAC_LANGID_KASHMIRI 61 #define TT_MAC_LANGID_SINDHI 62 #define TT_MAC_LANGID_TIBETAN 63 #define TT_MAC_LANGID_NEPALI 64 #define TT_MAC_LANGID_SANSKRIT 65 #define TT_MAC_LANGID_MARATHI 66 #define TT_MAC_LANGID_BENGALI 67 #define TT_MAC_LANGID_ASSAMESE 68 #define TT_MAC_LANGID_GUJARATI 69 #define TT_MAC_ID_RUSSIAN 7 #define TT_MAC_LANGID_DANISH 7 #define TT_NAME_ID_TRADEMARK 7 #define TT_PLATFORM_ADOBE 7 #define TT_MAC_LANGID_PUNJABI 70 #define TT_MAC_LANGID_ORIYA 71 #define TT_MAC_LANGID_MALAYALAM 72 #define TT_MAC_LANGID_KANNADA 73 #define TT_MAC_LANGID_TAMIL 74 #define TT_MAC_LANGID_TELUGU 75 #define TT_MAC_LANGID_SINHALESE 76 #define TT_MAC_LANGID_BURMESE 77 #define TT_MAC_LANGID_KHMER 78 #define TT_MAC_LANGID_LAO 79 #define TT_MAC_ID_RSYMBOL 8 #define TT_MAC_LANGID_PORTUGUESE 8 #define TT_NAME_ID_MANUFACTURER 8 #define TT_MAC_LANGID_VIETNAMESE 80 #define TT_MAC_LANGID_INDONESIAN 81 #define TT_MAC_LANGID_TAGALOG 82 #define TT_MAC_LANGID_MALAY_ROMAN_SCRIPT 83 #define TT_MAC_LANGID_MALAY_ARABIC_SCRIPT 84 #define TT_MAC_LANGID_AMHARIC 85 #define TT_MAC_LANGID_TIGRINYA 86 #define TT_MAC_LANGID_GALLA 87 #define TT_MAC_LANGID_SOMALI 88 #define TT_MAC_LANGID_SWAHILI 89 #define TT_MAC_ID_DEVANAGARI 9 #define TT_MAC_LANGID_NORWEGIAN 9 #define TT_NAME_ID_DESIGNER 9 #define TT_MAC_LANGID_RUANDA 90 #define TT_MAC_LANGID_RUNDI 91 #define TT_MAC_LANGID_CHEWA 92 #define TT_MAC_LANGID_MALAGASY 93 #define TT_MAC_LANGID_ESPERANTO 94 #define TT_MS_LANGID_DIVEHI_MALDIVES TT_MS_LANGID_DHIVEHI_MALDIVES #define TT_MS_LANGID_TIBETAN_BHUTAN TT_MS_LANGID_DZONGHKA_BHUTAN #define TT_MS_LANGID_FRENCH_ZAIRE TT_MS_LANGID_FRENCH_CONGO #define TT_MS_LANGID_KASHMIRI_INDIA TT_MS_LANGID_KASHMIRI_SASIA #define TT_MS_LANGID_TIGRIGNA_ERYTREA TT_MS_LANGID_TIGRIGNA_ERYTHREA #define TT_UCR_ARABIC_PRESENTATION_FORMS_A TT_UCR_ARABIC_PRESENTATIONS_A #define TT_UCR_ARABIC_PRESENTATION_FORMS_B TT_UCR_ARABIC_PRESENTATIONS_B #define TT_UCR_KANBUN TT_UCR_CJK_MISC #define TT_UCR_COMBINING_DIACRITICAL_MARKS TT_UCR_COMBINING_DIACRITICS __________________________________________________________ 12.2.30. freetype/tttables.h typedef enum { ft_sfnt_head = 0, ft_sfnt_maxp = 1, ft_sfnt_os2 = 2, ft_sfnt_hhea = 3, ft_sfnt_vhea = 4, ft_sfnt_post = 5, ft_sfnt_pclt = 6, sfnt_max = 7 } FT_Sfnt_Tag; extern FT_ULong FT_Get_CMap_Language_ID(FT_CharMap); extern FT_Error FT_Load_Sfnt_Table(FT_Face, FT_ULong, FT_Long, FT_Byte *, FT_ULong *); extern void *FT_Get_Sfnt_Table(FT_Face, FT_Sfnt_Tag); extern FT_Error FT_Sfnt_Table_Info(FT_Face, FT_UInt, FT_ULong *, FT_ULong *); __________________________________________________________ 12.2.31. freetype/tttags.h #define TTAG_avar FT_MAKE_TAG( 'a', 'v', 'a', 'r' ) #define TTAG_BASE FT_MAKE_TAG( 'B', 'A', 'S', 'E' ) #define TTAG_bdat FT_MAKE_TAG( 'b', 'd', 'a', 't' ) #define TTAG_bhed FT_MAKE_TAG( 'b', 'h', 'e', 'd' ) #define TTAG_bloc FT_MAKE_TAG( 'b', 'l', 'o', 'c' ) #define TTAG_CFF FT_MAKE_TAG( 'C', 'F', 'F', ' ' ) #define TTAG_cmap FT_MAKE_TAG( 'c', 'm', 'a', 'p' ) #define TTAG_cvar FT_MAKE_TAG( 'c', 'v', 'a', 'r' ) #define TTAG_cvt FT_MAKE_TAG( 'c', 'v', 't', ' ' ) #define TTAG_DSIG FT_MAKE_TAG( 'D', 'S', 'I', 'G' ) #define TTAG_EBDT FT_MAKE_TAG( 'E', 'B', 'D', 'T' ) #define TTAG_EBLC FT_MAKE_TAG( 'E', 'B', 'L', 'C' ) #define TTAG_EBSC FT_MAKE_TAG( 'E', 'B', 'S', 'C' ) #define TTAG_fpgm FT_MAKE_TAG( 'f', 'p', 'g', 'm' ) #define TTAG_fvar FT_MAKE_TAG( 'f', 'v', 'a', 'r' ) #define TTAG_gasp FT_MAKE_TAG( 'g', 'a', 's', 'p' ) #define TTAG_GDEF FT_MAKE_TAG( 'G', 'D', 'E', 'F' ) #define TTAG_glyf FT_MAKE_TAG( 'g', 'l', 'y', 'f' ) #define TTAG_GPOS FT_MAKE_TAG( 'G', 'P', 'O', 'S' ) #define TTAG_GSUB FT_MAKE_TAG( 'G', 'S', 'U', 'B' ) #define TTAG_gvar FT_MAKE_TAG( 'g', 'v', 'a', 'r' ) #define TTAG_hdmx FT_MAKE_TAG( 'h', 'd', 'm', 'x' ) #define TTAG_head FT_MAKE_TAG( 'h', 'e', 'a', 'd' ) #define TTAG_hhea FT_MAKE_TAG( 'h', 'h', 'e', 'a' ) #define TTAG_hmtx FT_MAKE_TAG( 'h', 'm', 't', 'x' ) #define TTAG_JSTF FT_MAKE_TAG( 'J', 'S', 'T', 'F' ) #define TTAG_kern FT_MAKE_TAG( 'k', 'e', 'r', 'n' ) #define TTAG_loca FT_MAKE_TAG( 'l', 'o', 'c', 'a' ) #define TTAG_LTSH FT_MAKE_TAG( 'L', 'T', 'S', 'H' ) #define TTAG_maxp FT_MAKE_TAG( 'm', 'a', 'x', 'p' ) #define TTAG_MMFX FT_MAKE_TAG( 'M', 'M', 'F', 'X' ) #define TTAG_MMSD FT_MAKE_TAG( 'M', 'M', 'S', 'D' ) #define TTAG_name FT_MAKE_TAG( 'n', 'a', 'm', 'e' ) #define TTAG_OS2 FT_MAKE_TAG( 'O', 'S', '/', '2' ) #define TTAG_OTTO FT_MAKE_TAG( 'O', 'T', 'T', 'O' ) #define TTAG_PCLT FT_MAKE_TAG( 'P', 'C', 'L', 'T' ) #define TTAG_post FT_MAKE_TAG( 'p', 'o', 's', 't' ) #define TTAG_prep FT_MAKE_TAG( 'p', 'r', 'e', 'p' ) #define TTAG_true FT_MAKE_TAG( 't', 'r', 'u', 'e' ) #define TTAG_ttc FT_MAKE_TAG( 't', 't', 'c', ' ' ) #define TTAG_ttcf FT_MAKE_TAG( 't', 't', 'c', 'f' ) #define TTAG_VDMX FT_MAKE_TAG( 'V', 'D', 'M', 'X' ) #define TTAG_vhea FT_MAKE_TAG( 'v', 'h', 'e', 'a' ) #define TTAG_vmtx FT_MAKE_TAG( 'v', 'm', 't', 'x' ) __________________________________________________________ 12.2.32. freetype/ttunpat.h #define FT_PARAM_TAG_UNPATENTED_HINTING FT_MAKE_TAG( 'u', 'n', 'p', 'a') __________________________________________________________ 12.3. Interface Definitions for libfreetype Table of Contents FT_Get_X11_Font_Format -- Get font format The interfaces defined on the following pages are included in libfreetype and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard. Other interfaces listed in Section 12.1 shall behave as described in the referenced base document. FT_Get_X11_Font_Format Name FT_Get_X11_Font_Format -- Get font format Synopsis #include const char *FT_Get_X11_Font_Format(FT_Face face); Description The FT_Get_X11_Font_Format() function can be used to return a string describing the format of the font face referenced by face. Note that this information is not needed normally; however, there are special cases (like in PDF devices) where it is important to differentiate, in spite of FreeType's uniform API. Return Value The FT_Get_X11_Font_FormaFT_Get_X11_Font_Format() function returns return a string describing the format of a given face, using values which can be used as an X11 FONT_PROPERTY. Possible values are TrueType, Type 1, BDF, PCF, Type 42, CID Type 1, CFF, PFR, and Windows FNT. In case of an error, NULL is returned. VIII. Xft library Table of Contents 13. Libraries 13.1. Interfaces for libXft 13.1.1. Default LibGroup for libXft 13.2. Data Definitions for libXft 13.2.1. X11/Xft/Xft.h 13.3. Interface Definitions for libXft __________________________________________________________ Chapter 13. Libraries 13.1. Interfaces for libXft Table 13-1 defines the library name and shared object name for the libXft library Table 13-1. libXft Definition Library: libXft SONAME: libXft.so.2 The behavior of the interfaces in this library is specified by the following specifications: [LSB] This Specification __________________________________________________________ 13.1.1. Default LibGroup for libXft __________________________________________________________ 13.1.1.1. Interfaces for Default LibGroup for libXft An LSB conforming implementation shall provide the generic functions for Default LibGroup for libXft specified in Table 13-2, with the full mandatory functionality as described in the referenced underlying specification. Table 13-2. libXft - Default LibGroup for libXft Function Interfaces XftCharExists [LSB] XftCharFontSpecRender [LSB] XftCharIndex [LSB] XftCharSpecRender [LSB] XftColorAllocName [LSB] XftColorAllocValue [LSB] XftColorFree [LSB] XftDefaultHasRender [LSB] XftDefaultSet [LSB] XftDefaultSubstitute [LSB] XftDrawChange [LSB] XftDrawCharFontSpec [LSB] XftDrawCharSpec [LSB] XftDrawColormap [LSB] XftDrawCreate [LSB] XftDrawCreateAlpha [LSB] XftDrawCreateBitmap [LSB] XftDrawDestroy [LSB] XftDrawDisplay [LSB] XftDrawDrawable [LSB] XftDrawGlyphFontSpec [LSB] XftDrawGlyphSpec [LSB] XftDrawGlyphs [LSB] XftDrawPicture [LSB] XftDrawRect [LSB] XftDrawSetClip [LSB] XftDrawSetClipRectangles [LSB] XftDrawSetSubwindowMode [LSB] XftDrawSrcPicture [LSB] XftDrawString16 [LSB] XftDrawString32 [LSB] XftDrawString8 [LSB] XftDrawStringUtf16 [LSB] XftDrawStringUtf8 [LSB] XftDrawVisual [LSB] XftFontCheckGlyph [LSB] XftFontClose [LSB] XftFontCopy [LSB] XftFontInfoCreate [LSB] XftFontInfoDestroy [LSB] XftFontInfoEqual [LSB] XftFontInfoHash [LSB] XftFontLoadGlyphs [LSB] XftFontMatch [LSB] XftFontOpen [LSB] XftFontOpenInfo [LSB] XftFontOpenName [LSB] XftFontOpenPattern [LSB] XftFontOpenXlfd [LSB] XftFontUnloadGlyphs [LSB] XftGetVersion [LSB] XftGlyphExtents [LSB] XftGlyphFontSpecRender [LSB] XftGlyphRender [LSB] XftGlyphSpecRender [LSB] XftInit [LSB] XftInitFtLibrary [LSB] XftListFonts [LSB] XftLockFace [LSB] XftNameParse [LSB] XftTextExtents16 [LSB] XftTextExtents32 [LSB] XftTextExtents8 [LSB] XftTextExtentsUtf16 [LSB] XftTextExtentsUtf8 [LSB] XftTextRender16 [LSB] XftTextRender16BE [LSB] XftTextRender16LE [LSB] XftTextRender32 [LSB] XftTextRender32BE [LSB] XftTextRender32LE [LSB] XftTextRender8 [LSB] XftTextRenderUtf16 [LSB] XftTextRenderUtf8 [LSB] XftUnlockFace [LSB] XftXlfdParse [LSB] __________________________________________________________ 13.2. Data Definitions for libXft This section defines global identifiers and their values that are associated with interfaces contained in libXft. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 13.2.1. X11/Xft/Xft.h #define _XFT_H_ #define XFT_VERSION \ ((XFT_MAJOR * 10000) + (XFT_MINOR * 100) + (XFT_REVISION)) #define XFT_CORE "core" #define XFT_MAX_GLYPH_MEMORY "maxglyphmemory" #define XFT_MAX_UNREF_FONTS "maxunreffonts" #define XFT_RENDER "render" #define XFT_XLFD "xlfd" #define XFT_MINOR 1 #define XFT_MAJOR 2 #define XFT_NMISSING 256 #define XFT_REVISION 8 #define XftVersion XFT_VERSION typedef struct _XftDraw XftDraw; typedef struct _XftColor { unsigned long int pixel; XRenderColor color; } XftColor; typedef struct _XftFont { int ascent; int descent; int height; int max_advance_width; FcCharSet *charset; FcPattern **pattern; } XftFont; typedef struct _XftGlyphSpec { FT_UInt glyph; short x; short y; } XftGlyphSpec; typedef struct _XftCharSpec { FcChar32 ucs4; short x; short y; } XftCharSpec; typedef struct _XftFtFile XftFtFile; typedef struct _XftFontInfo XftFontInfo; typedef struct _XftCharFontSpec { XftFont *font; FcChar32 ucs4; short x; short y; } XftCharFontSpec; typedef struct _XftGlyphFontSpec { XftFont *font; FT_UInt glyph; short x; short y; } XftGlyphFontSpec; extern void XftTextRender32BE(Display *, int, Picture, XftFont *, Picture, int, int, int, int, const FcChar8 *, int); extern int XftInit(const char *); extern void XftTextRender16BE(Display *, int, Picture, XftFont *, Picture, int, int, int, int, const FcChar8 *, int); extern void XftDrawCharSpec(XftDraw *, const XftColor *, XftFont *, const XftCharSpec *, int); extern void XftTextExtentsUtf16(Display *, XftFont *, const FcChar8 *, FcEndian, int, XGlyphInfo *); extern void XftGlyphSpecRender(Display *, int, Picture, XftFont *, Picture, int, int, const XftGlyphSpec *, int); extern FT_Face XftLockFace(XftFont *); extern void XftFontInfoDestroy(Display *, XftFontInfo *); extern void XftTextExtents8(Display *, XftFont *, const FcChar8 *, int, XGlyphInfo *); extern void XftDrawSetSubwindowMode(XftDraw *, int); extern int XftColorAllocValue(Display *, Visual *, Colormap, const XRenderColor *, XftColor *); extern XftFont *XftFontCopy(Display *, XftFont *); extern void XftDrawCharFontSpec(XftDraw *, const XftColor *, const XftCharFontSpec *, int); extern void XftGlyphExtents(Display *, XftFont *, const FT_UInt *, int, XGlyphInfo *); extern Picture XftDrawSrcPicture(XftDraw *, const XftColor *); extern void XftTextRender16(Display *, int, Picture, XftFont *, Picture, int, int, int, int, const FcChar16 *, int); extern void XftTextRender32LE(Display *, int, Picture, XftFont *, Picture, int, int, int, int, const FcChar8 *, int); extern FcBool XftCharExists(Display *, XftFont *, FcChar32); extern void XftFontClose(Display *, XftFont *); extern void XftDrawGlyphs(XftDraw *, const XftColor *, XftFont *, int, int, const FT_UInt *, int); extern void XftDrawString8(XftDraw *, const XftColor *, XftFont *, int, int, const FcChar8 *, int); extern FcPattern *XftXlfdParse(const char *, FcBool, FcBool); extern void XftTextRender16LE(Display *, int, Picture, XftFont *, Picture, int, int, int, int, const FcChar8 *, int); extern int XftColorAllocName(Display *, const Visual *, Colormap, const char *, XftColor *); extern XftFont *XftFontOpen(Display *, int, ...); extern void XftFontUnloadGlyphs(Display *, XftFont *, const FT_UInt *, int); extern XftDraw *XftDrawCreateBitmap(Display *, Pixmap); extern XftDraw *XftDrawCreateAlpha(Display *, Pixmap, int); extern Colormap XftDrawColormap(XftDraw *); extern void XftDrawGlyphFontSpec(XftDraw *, const XftColor *, const XftGlyphFontSpec *, int); extern void XftDrawGlyphSpec(XftDraw *, const XftColor *, XftFont *, const XftGlyphSpec *, int); extern void XftTextRenderUtf16(Display *, int, Picture, XftFont *, Picture, int, int, int, int, const FcChar8 *, FcEndian, int); extern int XftDrawSetClipRectangles(XftDraw *, int, int, const XRectangle *, int); extern void XftDrawDestroy(XftDraw *); extern int XftDefaultHasRender(Display *); extern XftFontInfo *XftFontInfoCreate(Display *, const FcPattern *); extern void XftCharFontSpecRender(Display *, int, Picture, Picture, int, int, const XftCharFontSpec *, int); extern int XftGetVersion(void); extern Drawable XftDrawDrawable(XftDraw *); extern void XftUnlockFace(XftFont *); extern void XftGlyphFontSpecRender(Display *, int, Picture, Picture, int, int, const XftGlyphFontSpec *, int); extern void XftColorFree(Display *, Visual *, Colormap, XftColor *); extern FcBool XftFontInfoEqual(const XftFontInfo *, const XftFontInfo *); extern void XftDrawRect(XftDraw *, const XftColor *, int, int, unsigned int, unsigned int); extern XftFont *XftFontOpenPattern(Display *, FcPattern *); extern FcPattern *XftNameParse(const char *); extern Display *XftDrawDisplay(XftDraw *); extern FcBool XftFontCheckGlyph(Display *, XftFont *, FcBool, FT_UInt, FT_UInt *, int *); extern FcFontSet *XftListFonts(Display *, int, ...); extern void XftDefaultSubstitute(Display *, int, FcPattern *); extern Visual *XftDrawVisual(XftDraw *); extern void XftFontLoadGlyphs(Display *, XftFont *, FcBool, const FT_UInt *, int); extern XftFont *XftFontOpenXlfd(Display *, int, const char *); extern XftDraw *XftDrawCreate(Display *, Drawable, Visual *, Colormap); extern void XftTextExtentsUtf8(Display *, XftFont *, const FcChar8 *, int, XGlyphInfo *); extern void XftTextExtents32(Display *, XftFont *, const FcChar32 *, int, XGlyphInfo *); extern void XftTextRenderUtf8(Display *, int, Picture, XftFont *, Picture, int, int, int, int, const FcChar8 *, int); extern FT_UInt XftCharIndex(Display *, XftFont *, FcChar32); extern void XftTextRender32(Display *, int, Picture, XftFont *, Picture, int, int, int, int, const FcChar32 *, int); extern void XftGlyphRender(Display *, int, Picture, XftFont *, Picture, int, int, int, int, const FT_UInt *, int); extern Picture XftDrawPicture(XftDraw *); extern void XftDrawStringUtf8(XftDraw *, const XftColor *, XftFont *, int, int, const FcChar8 *, int); extern int XftDefaultSet(Display *, FcPattern *); extern void XftDrawStringUtf16(XftDraw *, const XftColor *, XftFont *, int, int, const FcChar8 *, FcEndian, int); extern int XftDrawSetClip(XftDraw *, Region); extern void XftDrawString32(XftDraw *, const XftColor *, XftFont *, int, int, const FcChar32 *, int); extern FcChar32 XftFontInfoHash(const XftFontInfo *); extern XftFont *XftFontOpenInfo(Display *, FcPattern *, XftFontInfo *); extern void XftDrawChange(XftDraw *, Drawable); extern void XftCharSpecRender(Display *, int, Picture, XftFont *, Picture, int, int, const XftCharSpec *, int); extern void XftTextRender8(Display *, int, Picture, XftFont *, Picture, int, int, int, int, const FcChar8 *, int); extern void XftTextExtents16(Display *, XftFont *, const FcChar16 *, int, XGlyphInfo *); extern XftFont *XftFontOpenName(Display *, int, const char *); extern FcPattern *XftFontMatch(Display *, int, const FcPattern *, FcResult *); extern FcBool XftInitFtLibrary(void); extern void XftDrawString16(XftDraw *, const XftColor *, XftFont *, int, int, const FcChar16 *, int); __________________________________________________________ 13.3. Interface Definitions for libXft The interfaces defined on the following pages are included in libXft and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard. Other interfaces listed in Section 13.1 shall behave as described in the referenced base document. IX. Xrender library Table of Contents 14. Libraries 14.1. Interfaces for libXrender 14.1.1. Default LibGroup for libXrender 14.2. Data Definitions for libXrender 14.2.1. X11/extensions/Xrender.h 14.2.2. X11/extensions/render.h 14.3. Interface Definitions for libXrender __________________________________________________________ Chapter 14. Libraries 14.1. Interfaces for libXrender Table 14-1 defines the library name and shared object name for the libXrender library Table 14-1. libXrender Definition Library: libXrender SONAME: libXrender.so.1 The behavior of the interfaces in this library is specified by the following specifications: [LSB] This Specification __________________________________________________________ 14.1.1. Default LibGroup for libXrender __________________________________________________________ 14.1.1.1. Interfaces for Default LibGroup for libXrender An LSB conforming implementation shall provide the generic functions for Default LibGroup for libXrender specified in Table 14-2, with the full mandatory functionality as described in the referenced underlying specification. Table 14-2. libXrender - Default LibGroup for libXrender Function Interfaces XRenderAddGlyphs [LSB] XRenderAddTraps [LSB] XRenderChangePicture [LSB] XRenderComposite [LSB] XRenderCompositeDoublePoly [LSB] XRenderCompositeString16 [LSB] XRenderCompositeString32 [LSB] XRenderCompositeString8 [LSB] XRenderCompositeText16 [LSB] XRenderCompositeText32 [LSB] XRenderCompositeText8 [LSB] XRenderCompositeTrapezoids [LSB] XRenderCompositeTriFan [LSB] XRenderCompositeTriStrip [LSB] XRenderCompositeTriangles [LSB] XRenderCreateAnimCursor [LSB] XRenderCreateConicalGradient [LSB] XRenderCreateCursor [LSB] XRenderCreateGlyphSet [LSB] XRenderCreateLinearGradient [LSB] XRenderCreatePicture [LSB] XRenderCreateRadialGradient [LSB] XRenderCreateSolidFill [LSB] XRenderFillRectangle [LSB] XRenderFillRectangles [LSB] XRenderFindFormat [LSB] XRenderFindStandardFormat [LSB] XRenderFindVisualFormat [LSB] XRenderFreeGlyphSet [LSB] XRenderFreeGlyphs [LSB] XRenderFreePicture [LSB] XRenderParseColor [LSB] XRenderQueryExtension [LSB] XRenderQueryFilters [LSB] XRenderQueryFormats [LSB] XRenderQueryPictIndexValues [LSB] XRenderQuerySubpixelOrder [LSB] XRenderQueryVersion [LSB] XRenderReferenceGlyphSet [LSB] XRenderSetPictureClipRectangles [LSB] XRenderSetPictureClipRegion [LSB] XRenderSetPictureFilter [LSB] XRenderSetPictureTransform [LSB] XRenderSetSubpixelOrder [LSB] __________________________________________________________ 14.2. Data Definitions for libXrender This section defines global identifiers and their values that are associated with interfaces contained in libXrender. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 14.2.1. X11/extensions/Xrender.h #define XFixedToDouble(f) (((XDouble) (f)) / 65536) #define XDoubleToFixed(f) ((XFixed) ((f) * 65536)) #define PictFormatID (1 << 0) #define PictFormatType (1 << 1) #define PictFormatAlphaMask (1 << 10) #define PictFormatColormap (1 << 11) #define PictFormatDepth (1 << 2) #define PictFormatRed (1 << 3) #define PictFormatRedMask (1 << 4) #define PictFormatGreen (1 << 5) #define PictFormatGreenMask (1 << 6) #define PictFormatBlue (1 << 7) #define PictFormatBlueMask (1 << 8) #define PictFormatAlpha (1 << 9) #define PictStandardARGB32 0 #define PictStandardRGB24 1 #define PictStandardA8 2 #define PictStandardA4 3 #define PictStandardA1 4 #define PictStandardNUM 5 typedef long unsigned int GlyphSet; typedef int XFixed; typedef struct _XPointFixed { XFixed x; XFixed y; } XPointFixed; typedef struct _XCircle { XFixed x; XFixed y; XFixed radius; } XCircle; typedef double XDouble; typedef struct _XSpanFix { XFixed left; XFixed right; XFixed y; } XSpanFix; typedef struct _XLineFixed { XPointFixed p1; XPointFixed p2; } XLineFixed; typedef struct _XTrapezoid { XFixed top; XFixed bottom; XLineFixed left; XLineFixed right; } XTrapezoid; typedef struct { unsigned short red; unsigned short green; unsigned short blue; unsigned short alpha; } XRenderColor; typedef long unsigned int Glyph; typedef long unsigned int PictFormat; typedef struct { short red; short redMask; short green; short greenMask; short blue; short blueMask; short alpha; short alphaMask; } XRenderDirectFormat; typedef struct { PictFormat id; int type; int depth; XRenderDirectFormat direct; Colormap colormap; } XRenderPictFormat; typedef struct _XGlyphInfo { unsigned short width; unsigned short height; short x; short y; short xOff; short yOff; } XGlyphInfo; typedef struct _XFilters { int nfilter; char **filter; int nalias; short int *alias; } XFilters; typedef struct _XTransform { XFixed matrix[3][3]; } XTransform; typedef struct _XAnimCursor { Cursor cursor; long unsigned int delay; } XAnimCursor; typedef struct _XRadialGradient { XCircle inner; XCircle outer; } XRadialGradient; typedef struct _XGlyphElt32 { GlyphSet glyphset; const unsigned int *chars; int nchars; int xOff; int yOff; } XGlyphElt32; typedef struct _XGlyphElt8 { GlyphSet glyphset; const char *chars; int nchars; int xOff; int yOff; } XGlyphElt8; typedef struct _XConicalGradient { XPointFixed center; XFixed angle; } XConicalGradient; typedef struct _XLinearGradient { XPointFixed p1; XPointFixed p2; } XLinearGradient; typedef struct _XPointDouble { XDouble x; XDouble y; } XPointDouble; typedef struct _XRenderPictureAttributes { int repeat; Picture alpha_map; int alpha_x_origin; int alpha_y_origin; int clip_x_origin; int clip_y_origin; Pixmap clip_mask; int graphics_exposures; int subwindow_mode; int poly_edge; int poly_mode; Atom dither; int component_alpha; } XRenderPictureAttributes; typedef struct _XTrap { XSpanFix top; XSpanFix bottom; } XTrap; typedef struct _XIndexValue { long unsigned int pixel; unsigned short red; unsigned short green; unsigned short blue; unsigned short alpha; } XIndexValue; typedef struct _XGlyphElt16 { GlyphSet glyphset; const short unsigned int *chars; int nchars; int xOff; int yOff; } XGlyphElt16; typedef struct _XTriangle { XPointFixed p1; XPointFixed p2; XPointFixed p3; } XTriangle; extern int XRenderQuerySubpixelOrder(Display *, int); extern void XRenderFreeGlyphSet(Display *, GlyphSet); extern void XRenderFillRectangles(Display *, int, Picture, const XRenderColor *, const XRectangle *, int); extern int XRenderParseColor(Display *, char *, XRenderColor *); extern void XRenderFreeGlyphs(Display *, GlyphSet, const Glyph *, int); extern GlyphSet XRenderCreateGlyphSet(Display *, const XRenderPictFormat *); extern void XRenderCompositeTriStrip(Display *, int, Picture, Picture, const XRenderPictFormat *, int, int, const XPointFixed *, int); extern void XRenderAddGlyphs(Display *, GlyphSet, const Glyph *, const XGlyphInfo *, int, const char *, int); extern XFilters *XRenderQueryFilters(Display *, Drawable); extern void XRenderSetPictureClipRegion(Display *, Picture, Region); extern XRenderPictFormat *XRenderFindStandardFormat(Display *, int); extern void XRenderSetPictureTransform(Display *, Picture, XTransform *); extern Cursor XRenderCreateAnimCursor(Display *, int, XAnimCursor *); extern Picture XRenderCreateRadialGradient(Display *, const XRadialGradient *, const XFixed *, const XRenderColor *, int); extern void XRenderCompositeText32(Display *, int, Picture, Picture, const XRenderPictFormat *, int, int, int, int, const XGlyphElt32 *, int); extern void XRenderComposite(Display *, int, Picture, Picture, Picture, int, int, int, int, int, int, unsigned int, unsigned int); extern void XRenderCompositeText8(Display *, int, Picture, Picture, const XRenderPictFormat *, int, int, int, int, const XGlyphElt8 *, int); extern Picture XRenderCreateConicalGradient(Display *, const XConicalGradient *, const XFixed *, const XRenderColor *, int); extern XRenderPictFormat *XRenderFindVisualFormat(Display *, const Visual *); extern Picture XRenderCreateLinearGradient(Display *, const XLinearGradient *, const XFixed *, const XRenderColor *, int); extern void XRenderCompositeDoublePoly(Display *, int, Picture, Picture, const XRenderPictFormat *, int, int, int, int, const XPointDouble *, int, int); extern Picture XRenderCreateSolidFill(Display *, const XRenderColor *); extern int XRenderQueryExtension(Display *, int *, int *); extern void XRenderCompositeTrapezoids(Display *, int, Picture, Picture, const XRenderPictFormat *, int, int, const XTrapezoid *, int); extern void XRenderChangePicture(Display *, Picture, long unsigned int, const XRenderPictureAttributes *); extern void XRenderCompositeString8(Display *, int, Picture, Picture, const XRenderPictFormat *, GlyphSet, int, int, int, int, const char *, int); extern void XRenderAddTraps(Display *, Picture, int, int, const XTrap *, int); extern XRenderPictFormat *XRenderFindFormat(Display *, long unsigned int, const XRenderPictFormat *, int); extern void XRenderCompositeTriFan(Display *, int, Picture, Picture, const XRenderPictFormat *, int, int, const XPointFixed *, int); extern XIndexValue *XRenderQueryPictIndexValues(Display *, const XRenderPictFormat*, int *); extern int XRenderSetSubpixelOrder(Display *, int, int); extern int XRenderQueryVersion(Display *, int *, int *); extern void XRenderCompositeText16(Display *, int, Picture, Picture, const XRenderPictFormat *, int, int, int, int, const XGlyphElt16 *, int); extern void XRenderSetPictureClipRectangles(Display *, Picture, int, int, const XRectangle *, int); extern int XRenderQueryFormats(Display *); extern void XRenderFillRectangle(Display *, int, Picture, const XRenderColor *, int, int, unsigned int, unsigned int); extern void XRenderFreePicture(Display *, Picture); extern void XRenderCompositeTriangles(Display *, int, Picture, Picture, const XRenderPictFormat *, int, int, const XTriangle *, int); extern void XRenderCompositeString32(Display *, int, Picture, Picture, const XRenderPictFormat *, GlyphSet, int, int, int, int, const unsigned int *, int); extern Picture XRenderCreatePicture(Display *, Drawable, const XRenderPictFormat *, long unsigned int, const XRenderPictureAttributes *); extern GlyphSet XRenderReferenceGlyphSet(Display *, GlyphSet); extern void XRenderCompositeString16(Display *, int, Picture, Picture, const XRenderPictFormat *, GlyphSet, int, int, int, int, const short unsigned int *, int); extern Cursor XRenderCreateCursor(Display *, Picture, unsigned int, unsigned int); __________________________________________________________ 14.2.2. X11/extensions/render.h #define FilterBest "best" #define FilterBilinear "bilinear" #define FilterConvolution "convolution" #define FilterFast "fast" #define FilterGood "good" #define FilterNearest "nearest" #define RENDER_NAME "RENDER" #define CPRepeat (1 << 0) #define CPAlphaMap (1 << 1) #define CPPolyMode (1 << 10) #define CPDither (1 << 11) #define CPComponentAlpha (1 << 12) #define CPAlphaXOrigin (1 << 2) #define CPAlphaYOrigin (1 << 3) #define CPClipXOrigin (1 << 4) #define CPClipYOrigin (1 << 5) #define CPClipMask (1 << 6) #define CPGraphicsExposure (1 << 7) #define CPSubwindowMode (1 << 8) #define CPPolyEdge (1 << 9) #define RenderNumberErrors (BadGlyph+1) #define RenderNumberRequests (X_RenderCreateConicalGradient+1) #define FilterAliasNone -1 #define BadPictFormat 0 #define PictOpClear 0 #define PictOpMinimum 0 #define PictTypeIndexed 0 #define PolyEdgeSharp 0 #define PolyModePrecise 0 #define RENDER_MAJOR 0 #define RepeatNone 0 #define SubPixelUnknown 0 #define X_RenderQueryVersion 0 #define PictOpDisjointClear 0x10 #define PictOpDisjointMinimum 0x10 #define PictOpDisjointSrc 0x11 #define PictOpDisjointDst 0x12 #define PictOpDisjointOver 0x13 #define PictOpDisjointOverReverse 0x14 #define PictOpDisjointIn 0x15 #define PictOpDisjointInReverse 0x16 #define PictOpDisjointOut 0x17 #define PictOpDisjointOutReverse 0x18 #define PictOpDisjointAtop 0x19 #define PictOpDisjointAtopReverse 0x1a #define PictOpDisjointMaximum 0x1b #define PictOpDisjointXor 0x1b #define PictOpConjointClear 0x20 #define PictOpConjointMinimum 0x20 #define PictOpConjointSrc 0x21 #define PictOpConjointDst 0x22 #define PictOpConjointOver 0x23 #define PictOpConjointOverReverse 0x24 #define PictOpConjointIn 0x25 #define PictOpConjointInReverse 0x26 #define PictOpConjointOut 0x27 #define PictOpConjointOutReverse 0x28 #define PictOpConjointAtop 0x29 #define PictOpConjointAtopReverse 0x2a #define PictOpConjointMaximum 0x2b #define PictOpConjointXor 0x2b #define BadPicture 1 #define PictOpSrc 1 #define PictTypeDirect 1 #define PolyEdgeSmooth 1 #define PolyModeImprecise 1 #define RepeatNormal 1 #define SubPixelHorizontalRGB 1 #define X_RenderQueryPictFormats 1 #define PictOpAtopReverse 10 #define RENDER_MINOR 10 #define X_RenderTrapezoids 10 #define PictOpXor 11 #define X_RenderTriangles 11 #define CPLastBit 12 #define PictOpAdd 12 #define X_RenderTriStrip 12 #define PictOpMaximum 13 #define PictOpSaturate 13 #define X_RenderTriFan 13 #define X_RenderColorTrapezoids 14 #define X_RenderColorTriangles 15 #define X_RenderCreateGlyphSet 17 #define X_RenderReferenceGlyphSet 18 #define X_RenderFreeGlyphSet 19 #define BadPictOp 2 #define PictOpDst 2 #define RepeatPad 2 #define SubPixelHorizontalBGR 2 #define X_RenderQueryPictIndexValues 2 #define X_RenderAddGlyphs 20 #define X_RenderAddGlyphsFromPicture 21 #define X_RenderFreeGlyphs 22 #define X_RenderCompositeGlyphs8 23 #define X_RenderCompositeGlyphs16 24 #define X_RenderCompositeGlyphs32 25 #define X_RenderFillRectangles 26 #define X_RenderCreateCursor 27 #define X_RenderSetPictureTransform 28 #define X_RenderQueryFilters 29 #define BadGlyphSet 3 #define PictOpOver 3 #define RepeatReflect 3 #define SubPixelVerticalRGB 3 #define X_RenderQueryDithers 3 #define X_RenderSetPictureFilter 30 #define X_RenderCreateAnimCursor 31 #define X_RenderAddTraps 32 #define X_RenderCreateSolidFill 33 #define X_RenderCreateLinearGradient 34 #define X_RenderCreateRadialGradient 35 #define X_RenderCreateConicalGradient 36 #define BadGlyph 4 #define PictOpOverReverse 4 #define SubPixelVerticalBGR 4 #define X_RenderCreatePicture 4 #define PictOpIn 5 #define SubPixelNone 5 #define X_RenderChangePicture 5 #define PictOpInReverse 6 #define X_RenderSetPictureClipRectangles 6 #define PictOpOut 7 #define X_RenderFreePicture 7 #define PictOpOutReverse 8 #define X_RenderComposite 8 #define PictOpAtop 9 #define X_RenderScale 9 typedef long unsigned int Picture; __________________________________________________________ 14.3. Interface Definitions for libXrender The interfaces defined on the following pages are included in libXrender and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard. Other interfaces listed in Section 14.1 shall behave as described in the referenced base document. X. GTK+ Stack Libraries Table of Contents 15. Libraries 15.1. Introduction 15.2. Interfaces for libglib-2.0 15.2.1. GTK General purpose utility library 15.2.2. Glib Arrays 15.2.3. Glib Asynchronous Queues 15.2.4. Glib Atomic Operations 15.2.5. Glib Automatic String Completion 15.2.6. Glib Balanced Binary Trees 15.2.7. Glib Byte Arrays 15.2.8. Glib Caches 15.2.9. Glib Character Set Conversion 15.2.10. Glib Commandline Option Parser 15.2.11. Glib Datasets 15.2.12. Glib Date and Time Functions 15.2.13. Glib Double-Ended Queues 15.2.14. Glib Doubly-Linked Lists 15.2.15. Glib Error Reporting 15.2.16. Glib File Utilities 15.2.17. Glib Glob-Style Pattern Matching 15.2.18. Glib Hash Tables 15.2.19. Glib Hook Functions 15.2.20. Glib IO Channels 15.2.21. Glib Internationalization 15.2.22. Glib Key-Value File Parser 15.2.23. Glib Keyed Data Lists 15.2.24. Glib Lexical Scanner 15.2.25. Glib Memory Allocation 15.2.26. Glib Memory Allocators 15.2.27. Glib Memory Chunks 15.2.28. Glib Message Logging 15.2.29. Glib Message Output and Debugging Functions 15.2.30. Glib Miscellaneous Utility Functions 15.2.31. Glib N-ary Trees 15.2.32. Glib Pointer Arrays 15.2.33. Glib Quarks 15.2.34. Glib Random Numbers 15.2.35. Glib Relations and Tuples 15.2.36. Glib Shell-related Utilities 15.2.37. Glib Simple XML Subset Parser 15.2.38. Glib Singly-Linked Lists 15.2.39. Glib Spawning Processes 15.2.40. Glib String Chunks 15.2.41. Glib String Utility Functions 15.2.42. Glib Strings 15.2.43. Glib - The Main Event Loop 15.2.44. Glib Thread Pools 15.2.45. Glib Threads 15.2.46. Glib Timers 15.2.47. Glib Trash Stacks 15.2.48. Glib Unicode Manipulation 15.2.49. Glib Version Information 15.3. Data Definitions for libglib-2.0 15.3.1. glib-2.0/glib.h 15.3.2. glib-2.0/glib/gprintf.h 15.3.3. glib-2.0/glib/gstdio.h 15.4. Interfaces for libgobject-2.0 15.4.1. Glib Object System 15.5. Data Definitions for libgobject-2.0 15.5.1. glib-2.0/glib-object.h 15.5.2. glib-2.0/gobject/gvaluecollector.h 15.6. Interfaces for libgmodule-2.0 15.6.1. Glib-Dynamic loading of Modules 15.7. Data Definitions for libgmodule-2.0 15.7.1. glib-2.0/gmodule.h 15.8. Interfaces for libgthread-2.0 15.8.1. Glib thread abstraction 15.9. Interfaces for libatk-1.0 15.9.1. GTK Accessibility Toolkit 15.10. Data Definitions for libatk-1.0 15.10.1. atk-1.0/atk/atk-enum-types.h 15.10.2. atk-1.0/atk/atk.h 15.11. Interfaces for libpango-1.0 15.11.1. GTK Internationalized Text Layout and Rendering library 15.12. Data Definitions for libpango-1.0 15.12.1. pango-1.0/pango/pango-utils.h 15.12.2. pango-1.0/pango/pango.h 15.13. Interfaces for libpangoxft-1.0 15.13.1. Pango Xft Fonts and Rendering library 15.14. Data Definitions for libpangoxft-1.0 15.14.1. pango-1.0/pango/pangoxft.h 15.15. Interfaces for libpangoft2-1.0 15.15.1. Pango Freetype Fonts and Rendering library 15.16. Data Definitions for libpangoft2-1.0 15.16.1. pango-1.0/pango/pangofc-decoder.h 15.16.2. pango-1.0/pango/pangofc-fontmap.h 15.16.3. pango-1.0/pango/pangoft2.h 15.17. Interfaces for libgdk_pixbuf-2.0 15.17.1. GDK pixbuf rendering on drawables library 15.18. Data Definitions for libgdk_pixbuf-2.0 15.18.1. gtk-2.0/gdk-pixbuf/gdk-pixbuf.h 15.18.2. gtk-2.0/gdk-pixbuf/gdk-pixdata.h 15.19. Interfaces for libgdk_pixbuf_xlib-2.0 15.19.1. GDK pixbuf rendering to an X drawable library 15.20. Data Definitions for libgdk_pixbuf_xlib-2.0 15.20.1. gtk-2.0/gdk-pixbuf-xlib/gdk-pixbuf-xlib.h 15.21. Interfaces for libgdk-x11-2.0 15.21.1. GTK Drawing toolkit 15.22. Data Definitions for libgdk-x11-2.0 15.22.1. gtk-2.0/gdk/gdk.h 15.22.2. gtk-2.0/gdk/gdkkeysyms.h 15.22.3. gtk-2.0/gdk/gdkx.h 15.23. Interfaces for libgtk-x11-2.0 15.23.1. GTK main Widgets library 15.24. Data Definitions for libgtk-x11-2.0 15.24.1. gtk-2.0/gtk/gtk.h 15.25. Interface Definitions for libgtk-x11-2.0 gtk_button_get_image -- get button image widget gtk_button_set_image -- set button image widget __________________________________________________________ Chapter 15. Libraries 15.1. Introduction A conforming implementation shall support the following GTK+ stack libraries which provide interfaces for creating rich graphical user interface applications. GLib A general-purpose utility library, not specific to graphical user interfaces. GLib provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. libglib-2.0 libgmodule-2.0 libgobject-2.0 libgthread-2.0 ATK ATK is the Accessibility Toolkit. It provides a set of generic interfaces allowing accessibility technologies to interact with a graphical user interface. For example, a screen reader uses ATK to discover the text in an interface and read it to blind users. GTK+ widgets have built-in support for accessibility using the ATK framework. libatk-1.0 Pango Pango is a library for internationalized text handling. It centers around the PangoLayout object, representing a paragraph of text. Pango provides the engine for GtkTextView, GtkLabel, GtkEntry, and other widgets that display text. libpango-1.0 libpangoxft-1.0 libpangoft2-1.0 GdkPixbuf This is a small library which allows you to create GdkPixbuf ("pixel buffer") objects from image data or image files. Use a GdkPixbuf in combination with GtkImage to display images. libgdk_pixbuf-2.0 libgdk_pixbuf_xlib-2.0 GDK GDK is the abstraction layer that allows GTK+ to support multiple windowing systems. GDK provides drawing and window system facilities on X11, Windows, and the Linux framebuffer device. libgdk-x11-2.0 GTK+ The GTK+ library contains widgets, that is, GUI components such as GtkButton or GtkTextView. libgtk-x11-2.0 There are three main parts to the definition of each of these libraries. The "Interfaces" section defines the required library name and version, and the required public symbols (interfaces and global data), as well as symbol versions, if any. The "Interface Definitions" section provides complete or partial definitions of certain interfaces where either this specification is the source specification, or where there are variations from the source specification. If an interface definition requires one or more header files, one of those headers shall include the function prototype for the interface. For source definitions of interfaces which include a reference to a header file, the contents of such header files form a part of the specification. The "Data Definitions" section provides the binary-level details for the header files from the source specifications, such as values for macros and enumerated types, as well as structure layouts, sizes and padding, etc. These data definitions, although presented in the form of header files for convenience, should not be taken a representing complete header files, as they are a supplement to the source specifications. Application developers should follow the guidelines of the source specifications when determining which header files need to be included to completely resolve all references. Note: While the Data Definitions supplement the source specifications, this specification itself does not require conforming implementations to supply any header files. __________________________________________________________ 15.2. Interfaces for libglib-2.0 Table 15-1 defines the library name and shared object name for the libglib-2.0 library Table 15-1. libglib-2.0 Definition Library: libglib-2.0 SONAME: libglib-2.0.so.0 The behavior of the interfaces in this library is specified by the following specifications: [Glib] Glib 2.6.2 Reference Manual __________________________________________________________ 15.2.1. GTK General purpose utility library __________________________________________________________ 15.2.1.1. Interfaces for GTK General purpose utility library An LSB conforming implementation shall provide the generic functions for GTK General purpose utility library specified in Table 15-2, with the full mandatory functionality as described in the referenced underlying specification. Table 15-2. libglib-2.0 - GTK General purpose utility library Function Interfaces g_assert_warning [Glib] g_once_impl [Glib] g_return_if_fail_warning [Glib] g_static_mutex_get_mutex_impl [Glib] An LSB conforming implementation shall provide the generic data interfaces for GTK General purpose utility library specified in Table 15-3, with the full mandatory functionality as described in the referenced underlying specification. Table 15-3. libglib-2.0 - GTK General purpose utility library Data Interfaces g_ascii_table [Glib] g_child_watch_funcs [Glib] g_idle_funcs [Glib] g_io_watch_funcs [Glib] g_thread_functions_for_glib_use [Glib] g_thread_use_default_impl [Glib] g_threads_got_initialized [Glib] g_timeout_funcs [Glib] g_utf8_skip [Glib] __________________________________________________________ 15.2.2. Glib Arrays __________________________________________________________ 15.2.2.1. Interfaces for Glib Arrays An LSB conforming implementation shall provide the generic functions for Glib Arrays specified in Table 15-4, with the full mandatory functionality as described in the referenced underlying specification. Table 15-4. libglib-2.0 - Glib Arrays Function Interfaces g_array_append_vals [Glib] g_array_free [Glib] g_array_insert_vals [Glib] g_array_new [Glib] g_array_prepend_vals [Glib] g_array_remove_index [Glib] g_array_remove_index_fast [Glib] g_array_remove_range [Glib] g_array_set_size [Glib] g_array_sized_new [Glib] g_array_sort [Glib] g_array_sort_with_data [Glib] __________________________________________________________ 15.2.3. Glib Asynchronous Queues __________________________________________________________ 15.2.3.1. Interfaces for Glib Asynchronous Queues An LSB conforming implementation shall provide the generic functions for Glib Asynchronous Queues specified in Table 15-5, with the full mandatory functionality as described in the referenced underlying specification. Table 15-5. libglib-2.0 - Glib Asynchronous Queues Function Interfaces g_async_queue_length [Glib] g_async_queue_length_unlocked [Glib] g_async_queue_lock [Glib] g_async_queue_new [Glib] g_async_queue_pop [Glib] g_async_queue_pop_unlocked [Glib] g_async_queue_push [Glib] g_async_queue_push_unlocked [Glib] g_async_queue_ref [Glib] g_async_queue_timed_pop [Glib] g_async_queue_timed_pop_unlocked [Glib] g_async_queue_try_pop [Glib] g_async_queue_try_pop_unlocked [Glib] g_async_queue_unlock [Glib] g_async_queue_unref [Glib] __________________________________________________________ 15.2.4. Glib Atomic Operations __________________________________________________________ 15.2.4.1. Interfaces for Glib Atomic Operations An LSB conforming implementation shall provide the generic functions for Glib Atomic Operations specified in Table 15-6, with the full mandatory functionality as described in the referenced underlying specification. Table 15-6. libglib-2.0 - Glib Atomic Operations Function Interfaces g_atomic_int_add [Glib] g_atomic_int_compare_and_exchange [Glib] g_atomic_int_exchange_and_add [Glib] g_atomic_pointer_compare_and_exchange [Glib] __________________________________________________________ 15.2.5. Glib Automatic String Completion __________________________________________________________ 15.2.5.1. Interfaces for Glib Automatic String Completion An LSB conforming implementation shall provide the generic functions for Glib Automatic String Completion specified in Table 15-7, with the full mandatory functionality as described in the referenced underlying specification. Table 15-7. libglib-2.0 - Glib Automatic String Completion Function Interfaces g_completion_add_items [Glib] g_completion_clear_items [Glib] g_completion_complete [Glib] g_completion_complete_utf8 [Glib] g_completion_free [Glib] g_completion_new [Glib] g_completion_remove_items [Glib] g_completion_set_compare [Glib] __________________________________________________________ 15.2.6. Glib Balanced Binary Trees __________________________________________________________ 15.2.6.1. Interfaces for Glib Balanced Binary Trees An LSB conforming implementation shall provide the generic functions for Glib Balanced Binary Trees specified in Table 15-8, with the full mandatory functionality as described in the referenced underlying specification. Table 15-8. libglib-2.0 - Glib Balanced Binary Trees Function Interfaces g_tree_destroy [Glib] g_tree_foreach [Glib] g_tree_height [Glib] g_tree_insert [Glib] g_tree_lookup [Glib] g_tree_lookup_extended [Glib] g_tree_new [Glib] g_tree_new_full [Glib] g_tree_new_with_data [Glib] g_tree_nnodes [Glib] g_tree_remove [Glib] g_tree_replace [Glib] g_tree_search [Glib] g_tree_steal [Glib] __________________________________________________________ 15.2.7. Glib Byte Arrays __________________________________________________________ 15.2.7.1. Interfaces for Glib Byte Arrays An LSB conforming implementation shall provide the generic functions for Glib Byte Arrays specified in Table 15-9, with the full mandatory functionality as described in the referenced underlying specification. Table 15-9. libglib-2.0 - Glib Byte Arrays Function Interfaces g_byte_array_append [Glib] g_byte_array_free [Glib] g_byte_array_new [Glib] g_byte_array_prepend [Glib] g_byte_array_remove_index [Glib] g_byte_array_remove_index_fast [Glib] g_byte_array_remove_range [Glib] g_byte_array_set_size [Glib] g_byte_array_sized_new [Glib] g_byte_array_sort [Glib] g_byte_array_sort_with_data [Glib] __________________________________________________________ 15.2.8. Glib Caches __________________________________________________________ 15.2.8.1. Interfaces for Glib Caches An LSB conforming implementation shall provide the generic functions for Glib Caches specified in Table 15-10, with the full mandatory functionality as described in the referenced underlying specification. Table 15-10. libglib-2.0 - Glib Caches Function Interfaces g_cache_destroy [Glib] g_cache_insert [Glib] g_cache_key_foreach [Glib] g_cache_new [Glib] g_cache_remove [Glib] g_cache_value_foreach [Glib] An LSB conforming implementation shall provide the generic deprecated functions for Glib Caches specified in Table 15-11, with the full mandatory functionality as described in the referenced underlying specification. Note: These interfaces are deprecated, and applications should avoid using them. These interfaces may be withdrawn in future releases of this specification. Table 15-11. libglib-2.0 - Glib Caches Deprecated Function Interfaces g_cache_value_foreach [Glib] __________________________________________________________ 15.2.9. Glib Character Set Conversion __________________________________________________________ 15.2.9.1. Interfaces for Glib Character Set Conversion An LSB conforming implementation shall provide the generic functions for Glib Character Set Conversion specified in Table 15-12, with the full mandatory functionality as described in the referenced underlying specification. Table 15-12. libglib-2.0 - Glib Character Set Conversion Function Interfaces g_convert [Glib] g_convert_error_quark [Glib] g_convert_with_fallback [Glib] g_convert_with_iconv [Glib] g_filename_display_basename [Glib] g_filename_display_name [Glib] g_filename_from_uri [Glib] g_filename_from_utf8 [Glib] g_filename_to_uri [Glib] g_filename_to_utf8 [Glib] g_get_charset [Glib] g_get_filename_charsets [Glib] g_iconv [Glib] g_iconv_close [Glib] g_iconv_open [Glib] g_locale_from_utf8 [Glib] g_locale_to_utf8 [Glib] g_uri_list_extract_uris [Glib] __________________________________________________________ 15.2.10. Glib Commandline Option Parser __________________________________________________________ 15.2.10.1. Interfaces for Glib Commandline Option Parser An LSB conforming implementation shall provide the generic functions for Glib Commandline Option Parser specified in Table 15-13, with the full mandatory functionality as described in the referenced underlying specification. Table 15-13. libglib-2.0 - Glib Commandline Option Parser Function Interfaces g_option_context_add_group [Glib] g_option_context_add_main_entries [Glib] g_option_context_free [Glib] g_option_context_get_help_enabled [Glib] g_option_context_get_ignore_unknown_options [Glib] g_option_context_get_main_group [Glib] g_option_context_new [Glib] g_option_context_parse [Glib] g_option_context_set_help_enabled [Glib] g_option_context_set_ignore_unknown_options [Glib] g_option_context_set_main_group [Glib] g_option_error_quark [Glib] g_option_group_add_entries [Glib] g_option_group_free [Glib] g_option_group_new [Glib] g_option_group_set_error_hook [Glib] g_option_group_set_parse_hooks [Glib] g_option_group_set_translate_func [Glib] g_option_group_set_translation_domain [Glib] __________________________________________________________ 15.2.11. Glib Datasets __________________________________________________________ 15.2.11.1. Interfaces for Glib Datasets An LSB conforming implementation shall provide the generic functions for Glib Datasets specified in Table 15-14, with the full mandatory functionality as described in the referenced underlying specification. Table 15-14. libglib-2.0 - Glib Datasets Function Interfaces g_dataset_destroy [Glib] g_dataset_foreach [Glib] g_dataset_id_get_data [Glib] g_dataset_id_remove_no_notify [Glib] g_dataset_id_set_data_full [Glib] __________________________________________________________ 15.2.12. Glib Date and Time Functions __________________________________________________________ 15.2.12.1. Interfaces for Glib Date and Time Functions An LSB conforming implementation shall provide the generic functions for Glib Date and Time Functions specified in Table 15-15, with the full mandatory functionality as described in the referenced underlying specification. Table 15-15. libglib-2.0 - Glib Date and Time Functions Function Interfaces g_date_add_days [Glib] g_date_add_months [Glib] g_date_add_years [Glib] g_date_clamp [Glib] g_date_clear [Glib] g_date_compare [Glib] g_date_days_between [Glib] g_date_free [Glib] g_date_get_day [Glib] g_date_get_day_of_year [Glib] g_date_get_days_in_month [Glib] g_date_get_iso8601_week_of_year [Glib] g_date_get_julian [Glib] g_date_get_monday_week_of_year [Glib] g_date_get_monday_weeks_in_year [Glib] g_date_get_month [Glib] g_date_get_sunday_week_of_year [Glib] g_date_get_sunday_weeks_in_year [Glib] g_date_get_weekday [Glib] g_date_get_year [Glib] g_date_is_first_of_month [Glib] g_date_is_last_of_month [Glib] g_date_is_leap_year [Glib] g_date_new [Glib] g_date_new_dmy [Glib] g_date_new_julian [Glib] g_date_order [Glib] g_date_set_day [Glib] g_date_set_dmy [Glib] g_date_set_julian [Glib] g_date_set_month [Glib] g_date_set_parse [Glib] g_date_set_time [Glib] g_date_set_year [Glib] g_date_strftime [Glib] g_date_subtract_days [Glib] g_date_subtract_months [Glib] g_date_subtract_years [Glib] g_date_to_struct_tm [Glib] g_date_valid [Glib] g_date_valid_day [Glib] g_date_valid_dmy [Glib] g_date_valid_julian [Glib] g_date_valid_month [Glib] g_date_valid_weekday [Glib] g_date_valid_year [Glib] g_get_current_time [Glib] g_time_val_add [Glib] g_usleep [Glib] __________________________________________________________ 15.2.13. Glib Double-Ended Queues __________________________________________________________ 15.2.13.1. Interfaces for Glib Double-Ended Queues An LSB conforming implementation shall provide the generic functions for Glib Double-Ended Queues specified in Table 15-16, with the full mandatory functionality as described in the referenced underlying specification. Table 15-16. libglib-2.0 - Glib Double-Ended Queues Function Interfaces g_queue_copy [Glib] g_queue_delete_link [Glib] g_queue_find [Glib] g_queue_find_custom [Glib] g_queue_foreach [Glib] g_queue_free [Glib] g_queue_get_length [Glib] g_queue_index [Glib] g_queue_insert_after [Glib] g_queue_insert_before [Glib] g_queue_insert_sorted [Glib] g_queue_is_empty [Glib] g_queue_link_index [Glib] g_queue_new [Glib] g_queue_peek_head [Glib] g_queue_peek_head_link [Glib] g_queue_peek_nth [Glib] g_queue_peek_nth_link [Glib] g_queue_peek_tail [Glib] g_queue_peek_tail_link [Glib] g_queue_pop_head [Glib] g_queue_pop_head_link [Glib] g_queue_pop_nth [Glib] g_queue_pop_nth_link [Glib] g_queue_pop_tail [Glib] g_queue_pop_tail_link [Glib] g_queue_push_head [Glib] g_queue_push_head_link [Glib] g_queue_push_nth [Glib] g_queue_push_nth_link [Glib] g_queue_push_tail [Glib] g_queue_push_tail_link [Glib] g_queue_remove [Glib] g_queue_remove_all [Glib] g_queue_reverse [Glib] g_queue_sort [Glib] g_queue_unlink [Glib] __________________________________________________________ 15.2.14. Glib Doubly-Linked Lists __________________________________________________________ 15.2.14.1. Interfaces for Glib Doubly-Linked Lists An LSB conforming implementation shall provide the generic functions for Glib Doubly-Linked Lists specified in Table 15-17, with the full mandatory functionality as described in the referenced underlying specification. Table 15-17. libglib-2.0 - Glib Doubly-Linked Lists Function Interfaces g_list_alloc [Glib] g_list_append [Glib] g_list_concat [Glib] g_list_copy [Glib] g_list_delete_link [Glib] g_list_find [Glib] g_list_find_custom [Glib] g_list_first [Glib] g_list_foreach [Glib] g_list_free [Glib] g_list_free_1 [Glib] g_list_index [Glib] g_list_insert [Glib] g_list_insert_before [Glib] g_list_insert_sorted [Glib] g_list_last [Glib] g_list_length [Glib] g_list_nth [Glib] g_list_nth_data [Glib] g_list_nth_prev [Glib] g_list_pop_allocator [Glib] g_list_position [Glib] g_list_prepend [Glib] g_list_push_allocator [Glib] g_list_remove [Glib] g_list_remove_all [Glib] g_list_remove_link [Glib] g_list_reverse [Glib] g_list_sort [Glib] g_list_sort_with_data [Glib] __________________________________________________________ 15.2.15. Glib Error Reporting __________________________________________________________ 15.2.15.1. Interfaces for Glib Error Reporting An LSB conforming implementation shall provide the generic functions for Glib Error Reporting specified in Table 15-18, with the full mandatory functionality as described in the referenced underlying specification. Table 15-18. libglib-2.0 - Glib Error Reporting Function Interfaces g_clear_error [Glib] g_error_copy [Glib] g_error_free [Glib] g_error_matches [Glib] g_error_new [Glib] g_error_new_literal [Glib] g_propagate_error [Glib] g_set_error [Glib] __________________________________________________________ 15.2.16. Glib File Utilities __________________________________________________________ 15.2.16.1. Interfaces for Glib File Utilities An LSB conforming implementation shall provide the generic functions for Glib File Utilities specified in Table 15-19, with the full mandatory functionality as described in the referenced underlying specification. Table 15-19. libglib-2.0 - Glib File Utilities Function Interfaces g_dir_close [Glib] g_dir_open [Glib] g_dir_read_name [Glib] g_dir_rewind [Glib] g_file_error_from_errno [Glib] g_file_error_quark [Glib] g_file_get_contents [Glib] g_file_open_tmp [Glib] g_file_read_link [Glib] g_file_test [Glib] g_mkstemp [Glib] __________________________________________________________ 15.2.17. Glib Glob-Style Pattern Matching __________________________________________________________ 15.2.17.1. Interfaces for Glib Glob-Style Pattern Matching An LSB conforming implementation shall provide the generic functions for Glib Glob-Style Pattern Matching specified in Table 15-20, with the full mandatory functionality as described in the referenced underlying specification. Table 15-20. libglib-2.0 - Glib Glob-Style Pattern Matching Function Interfaces g_pattern_match [Glib] g_pattern_match_simple [Glib] g_pattern_match_string [Glib] g_pattern_spec_equal [Glib] g_pattern_spec_free [Glib] g_pattern_spec_new [Glib] __________________________________________________________ 15.2.18. Glib Hash Tables __________________________________________________________ 15.2.18.1. Interfaces for Glib Hash Tables An LSB conforming implementation shall provide the generic functions for Glib Hash Tables specified in Table 15-21, with the full mandatory functionality as described in the referenced underlying specification. Table 15-21. libglib-2.0 - Glib Hash Tables Function Interfaces g_direct_equal [Glib] g_direct_hash [Glib] g_hash_table_destroy [Glib] g_hash_table_find [Glib] g_hash_table_foreach [Glib] g_hash_table_foreach_remove [Glib] g_hash_table_foreach_steal [Glib] g_hash_table_insert [Glib] g_hash_table_lookup [Glib] g_hash_table_lookup_extended [Glib] g_hash_table_new [Glib] g_hash_table_new_full [Glib] g_hash_table_remove [Glib] g_hash_table_replace [Glib] g_hash_table_size [Glib] g_hash_table_steal [Glib] g_int_equal [Glib] g_int_hash [Glib] g_str_equal [Glib] g_str_hash [Glib] __________________________________________________________ 15.2.19. Glib Hook Functions __________________________________________________________ 15.2.19.1. Interfaces for Glib Hook Functions An LSB conforming implementation shall provide the generic functions for Glib Hook Functions specified in Table 15-22, with the full mandatory functionality as described in the referenced underlying specification. Table 15-22. libglib-2.0 - Glib Hook Functions Function Interfaces g_hook_alloc [Glib] g_hook_compare_ids [Glib] g_hook_destroy [Glib] g_hook_destroy_link [Glib] g_hook_find [Glib] g_hook_find_data [Glib] g_hook_find_func [Glib] g_hook_find_func_data [Glib] g_hook_first_valid [Glib] g_hook_free [Glib] g_hook_get [Glib] g_hook_insert_before [Glib] g_hook_insert_sorted [Glib] g_hook_list_clear [Glib] g_hook_list_init [Glib] g_hook_list_invoke [Glib] g_hook_list_invoke_check [Glib] g_hook_list_marshal [Glib] g_hook_list_marshal_check [Glib] g_hook_next_valid [Glib] g_hook_prepend [Glib] g_hook_ref [Glib] g_hook_unref [Glib] __________________________________________________________ 15.2.20. Glib IO Channels __________________________________________________________ 15.2.20.1. Interfaces for Glib IO Channels An LSB conforming implementation shall provide the generic functions for Glib IO Channels specified in Table 15-23, with the full mandatory functionality as described in the referenced underlying specification. Table 15-23. libglib-2.0 - Glib IO Channels Function Interfaces g_io_add_watch [Glib] g_io_add_watch_full [Glib] g_io_channel_error_from_errno [Glib] g_io_channel_error_quark [Glib] g_io_channel_flush [Glib] g_io_channel_get_buffer_condition [Glib] g_io_channel_get_buffer_size [Glib] g_io_channel_get_buffered [Glib] g_io_channel_get_close_on_unref [Glib] g_io_channel_get_encoding [Glib] g_io_channel_get_flags [Glib] g_io_channel_get_line_term [Glib] g_io_channel_init [Glib] g_io_channel_new_file [Glib] g_io_channel_read_chars [Glib] g_io_channel_read_line [Glib] g_io_channel_read_line_string [Glib] g_io_channel_read_to_end [Glib] g_io_channel_read_unichar [Glib] g_io_channel_ref [Glib] g_io_channel_seek_position [Glib] g_io_channel_set_buffer_size [Glib] g_io_channel_set_buffered [Glib] g_io_channel_set_close_on_unref [Glib] g_io_channel_set_encoding [Glib] g_io_channel_set_flags [Glib] g_io_channel_set_line_term [Glib] g_io_channel_shutdown [Glib] g_io_channel_unix_get_fd [Glib] g_io_channel_unix_new [Glib] g_io_channel_unref [Glib] g_io_channel_write_chars [Glib] g_io_channel_write_unichar [Glib] g_io_create_watch [Glib] __________________________________________________________ 15.2.21. Glib Internationalization __________________________________________________________ 15.2.21.1. Interfaces for Glib Internationalization An LSB conforming implementation shall provide the generic functions for Glib Internationalization specified in Table 15-24, with the full mandatory functionality as described in the referenced underlying specification. Table 15-24. libglib-2.0 - Glib Internationalization Function Interfaces g_get_language_names [Glib] g_strip_context [Glib] __________________________________________________________ 15.2.22. Glib Key-Value File Parser __________________________________________________________ 15.2.22.1. Interfaces for Glib Key-Value File Parser An LSB conforming implementation shall provide the generic functions for Glib Key-Value File Parser specified in Table 15-25, with the full mandatory functionality as described in the referenced underlying specification. Table 15-25. libglib-2.0 - Glib Key-Value File Parser Function Interfaces g_key_file_error_quark [Glib] g_key_file_free [Glib] g_key_file_get_boolean [Glib] g_key_file_get_boolean_list [Glib] g_key_file_get_comment [Glib] g_key_file_get_groups [Glib] g_key_file_get_integer [Glib] g_key_file_get_integer_list [Glib] g_key_file_get_keys [Glib] g_key_file_get_locale_string [Glib] g_key_file_get_locale_string_list [Glib] g_key_file_get_start_group [Glib] g_key_file_get_string [Glib] g_key_file_get_string_list [Glib] g_key_file_get_value [Glib] g_key_file_has_group [Glib] g_key_file_has_key [Glib] g_key_file_load_from_data [Glib] g_key_file_load_from_data_dirs [Glib] g_key_file_load_from_file [Glib] g_key_file_new [Glib] g_key_file_remove_comment [Glib] g_key_file_remove_group [Glib] g_key_file_remove_key [Glib] g_key_file_set_boolean [Glib] g_key_file_set_boolean_list [Glib] g_key_file_set_comment [Glib] g_key_file_set_integer [Glib] g_key_file_set_integer_list [Glib] g_key_file_set_list_separator [Glib] g_key_file_set_locale_string [Glib] g_key_file_set_locale_string_list [Glib] g_key_file_set_string [Glib] g_key_file_set_string_list [Glib] g_key_file_set_value [Glib] g_key_file_to_data [Glib] __________________________________________________________ 15.2.23. Glib Keyed Data Lists __________________________________________________________ 15.2.23.1. Interfaces for Glib Keyed Data Lists An LSB conforming implementation shall provide the generic functions for Glib Keyed Data Lists specified in Table 15-26, with the full mandatory functionality as described in the referenced underlying specification. Table 15-26. libglib-2.0 - Glib Keyed Data Lists Function Interfaces g_datalist_clear [Glib] g_datalist_foreach [Glib] g_datalist_id_get_data [Glib] g_datalist_id_remove_no_notify [Glib] g_datalist_id_set_data_full [Glib] g_datalist_init [Glib] __________________________________________________________ 15.2.24. Glib Lexical Scanner __________________________________________________________ 15.2.24.1. Interfaces for Glib Lexical Scanner An LSB conforming implementation shall provide the generic functions for Glib Lexical Scanner specified in Table 15-27, with the full mandatory functionality as described in the referenced underlying specification. Table 15-27. libglib-2.0 - Glib Lexical Scanner Function Interfaces g_scanner_cur_line [Glib] g_scanner_cur_position [Glib] g_scanner_cur_token [Glib] g_scanner_cur_value [Glib] g_scanner_destroy [Glib] g_scanner_eof [Glib] g_scanner_error [Glib] g_scanner_get_next_token [Glib] g_scanner_input_file [Glib] g_scanner_input_text [Glib] g_scanner_lookup_symbol [Glib] g_scanner_new [Glib] g_scanner_peek_next_token [Glib] g_scanner_scope_add_symbol [Glib] g_scanner_scope_foreach_symbol [Glib] g_scanner_scope_lookup_symbol [Glib] g_scanner_scope_remove_symbol [Glib] g_scanner_set_scope [Glib] g_scanner_sync_file_offset [Glib] g_scanner_unexp_token [Glib] g_scanner_warn [Glib] __________________________________________________________ 15.2.25. Glib Memory Allocation __________________________________________________________ 15.2.25.1. Interfaces for Glib Memory Allocation An LSB conforming implementation shall provide the generic functions for Glib Memory Allocation specified in Table 15-28, with the full mandatory functionality as described in the referenced underlying specification. Table 15-28. libglib-2.0 - Glib Memory Allocation Function Interfaces g_free [Glib] g_malloc [Glib] g_malloc0 [Glib] g_mem_is_system_malloc [Glib] g_mem_profile [Glib] g_mem_set_vtable [Glib] g_memdup [Glib] g_realloc [Glib] g_try_malloc [Glib] g_try_realloc [Glib] __________________________________________________________ 15.2.26. Glib Memory Allocators __________________________________________________________ 15.2.26.1. Interfaces for Glib Memory Allocators An LSB conforming implementation shall provide the generic functions for Glib Memory Allocators specified in Table 15-29, with the full mandatory functionality as described in the referenced underlying specification. Table 15-29. libglib-2.0 - Glib Memory Allocators Function Interfaces g_allocator_free [Glib] g_allocator_new [Glib] __________________________________________________________ 15.2.27. Glib Memory Chunks __________________________________________________________ 15.2.27.1. Interfaces for Glib Memory Chunks An LSB conforming implementation shall provide the generic functions for Glib Memory Chunks specified in Table 15-30, with the full mandatory functionality as described in the referenced underlying specification. Table 15-30. libglib-2.0 - Glib Memory Chunks Function Interfaces g_blow_chunks [Glib] g_mem_chunk_alloc [Glib] g_mem_chunk_alloc0 [Glib] g_mem_chunk_clean [Glib] g_mem_chunk_destroy [Glib] g_mem_chunk_free [Glib] g_mem_chunk_info [Glib] g_mem_chunk_new [Glib] g_mem_chunk_print [Glib] g_mem_chunk_reset [Glib] __________________________________________________________ 15.2.28. Glib Message Logging __________________________________________________________ 15.2.28.1. Interfaces for Glib Message Logging An LSB conforming implementation shall provide the generic functions for Glib Message Logging specified in Table 15-31, with the full mandatory functionality as described in the referenced underlying specification. Table 15-31. libglib-2.0 - Glib Message Logging Function Interfaces g_log [Glib] g_log_default_handler [Glib] g_log_remove_handler [Glib] g_log_set_always_fatal [Glib] g_log_set_default_handler [Glib] g_log_set_fatal_mask [Glib] g_log_set_handler [Glib] g_logv [Glib] __________________________________________________________ 15.2.29. Glib Message Output and Debugging Functions __________________________________________________________ 15.2.29.1. Interfaces for Glib Message Output and Debugging Functions An LSB conforming implementation shall provide the generic functions for Glib Message Output and Debugging Functions specified in Table 15-32, with the full mandatory functionality as described in the referenced underlying specification. Table 15-32. libglib-2.0 - Glib Message Output and Debugging Functions Function Interfaces g_on_error_query [Glib] g_on_error_stack_trace [Glib] g_print [Glib] g_printerr [Glib] g_set_print_handler [Glib] g_set_printerr_handler [Glib] __________________________________________________________ 15.2.30. Glib Miscellaneous Utility Functions __________________________________________________________ 15.2.30.1. Interfaces for Glib Miscellaneous Utility Functions An LSB conforming implementation shall provide the generic functions for Glib Miscellaneous Utility Functions specified in Table 15-33, with the full mandatory functionality as described in the referenced underlying specification. Table 15-33. libglib-2.0 - Glib Miscellaneous Utility Functions Function Interfaces g_atexit [Glib] g_bit_nth_lsf [Glib] g_bit_nth_msf [Glib] g_bit_storage [Glib] g_build_filename [Glib] g_build_path [Glib] g_find_program_in_path [Glib] g_get_application_name [Glib] g_get_current_dir [Glib] g_get_home_dir [Glib] g_get_prgname [Glib] g_get_real_name [Glib] g_get_system_config_dirs [Glib] g_get_system_data_dirs [Glib] g_get_tmp_dir [Glib] g_get_user_cache_dir [Glib] g_get_user_config_dir [Glib] g_get_user_data_dir [Glib] g_get_user_name [Glib] g_getenv [Glib] g_nullify_pointer [Glib] g_parse_debug_string [Glib] g_path_get_basename [Glib] g_path_get_dirname [Glib] g_path_is_absolute [Glib] g_path_skip_root [Glib] g_qsort_with_data [Glib] g_set_application_name [Glib] g_set_prgname [Glib] g_setenv [Glib] g_spaced_primes_closest [Glib] g_unsetenv [Glib] __________________________________________________________ 15.2.31. Glib N-ary Trees __________________________________________________________ 15.2.31.1. Interfaces for Glib N-ary Trees An LSB conforming implementation shall provide the generic functions for Glib N-ary Trees specified in Table 15-34, with the full mandatory functionality as described in the referenced underlying specification. Table 15-34. libglib-2.0 - Glib N-ary Trees Function Interfaces g_node_child_index [Glib] g_node_child_position [Glib] g_node_children_foreach [Glib] g_node_copy [Glib] g_node_copy_deep [Glib] g_node_depth [Glib] g_node_destroy [Glib] g_node_find [Glib] g_node_find_child [Glib] g_node_first_sibling [Glib] g_node_get_root [Glib] g_node_insert [Glib] g_node_insert_after [Glib] g_node_insert_before [Glib] g_node_is_ancestor [Glib] g_node_last_child [Glib] g_node_last_sibling [Glib] g_node_max_height [Glib] g_node_n_children [Glib] g_node_n_nodes [Glib] g_node_new [Glib] g_node_nth_child [Glib] g_node_pop_allocator [Glib] g_node_prepend [Glib] g_node_push_allocator [Glib] g_node_reverse_children [Glib] g_node_traverse [Glib] g_node_unlink [Glib] __________________________________________________________ 15.2.32. Glib Pointer Arrays __________________________________________________________ 15.2.32.1. Interfaces for Glib Pointer Arrays An LSB conforming implementation shall provide the generic functions for Glib Pointer Arrays specified in Table 15-35, with the full mandatory functionality as described in the referenced underlying specification. Table 15-35. libglib-2.0 - Glib Pointer Arrays Function Interfaces g_ptr_array_add [Glib] g_ptr_array_foreach [Glib] g_ptr_array_free [Glib] g_ptr_array_new [Glib] g_ptr_array_remove [Glib] g_ptr_array_remove_fast [Glib] g_ptr_array_remove_index [Glib] g_ptr_array_remove_index_fast [Glib] g_ptr_array_remove_range [Glib] g_ptr_array_set_size [Glib] g_ptr_array_sized_new [Glib] g_ptr_array_sort [Glib] g_ptr_array_sort_with_data [Glib] __________________________________________________________ 15.2.33. Glib Quarks __________________________________________________________ 15.2.33.1. Interfaces for Glib Quarks An LSB conforming implementation shall provide the generic functions for Glib Quarks specified in Table 15-36, with the full mandatory functionality as described in the referenced underlying specification. Table 15-36. libglib-2.0 - Glib Quarks Function Interfaces g_quark_from_static_string [Glib] g_quark_from_string [Glib] g_quark_to_string [Glib] g_quark_try_string [Glib] __________________________________________________________ 15.2.34. Glib Random Numbers __________________________________________________________ 15.2.34.1. Interfaces for Glib Random Numbers An LSB conforming implementation shall provide the generic functions for Glib Random Numbers specified in Table 15-37, with the full mandatory functionality as described in the referenced underlying specification. Table 15-37. libglib-2.0 - Glib Random Numbers Function Interfaces g_rand_copy [Glib] g_rand_double [Glib] g_rand_double_range [Glib] g_rand_free [Glib] g_rand_int [Glib] g_rand_int_range [Glib] g_rand_new [Glib] g_rand_new_with_seed [Glib] g_rand_new_with_seed_array [Glib] g_rand_set_seed [Glib] g_rand_set_seed_array [Glib] g_random_double [Glib] g_random_double_range [Glib] g_random_int [Glib] g_random_int_range [Glib] g_random_set_seed [Glib] __________________________________________________________ 15.2.35. Glib Relations and Tuples __________________________________________________________ 15.2.35.1. Interfaces for Glib Relations and Tuples An LSB conforming implementation shall provide the generic functions for Glib Relations and Tuples specified in Table 15-38, with the full mandatory functionality as described in the referenced underlying specification. Table 15-38. libglib-2.0 - Glib Relations and Tuples Function Interfaces g_relation_count [Glib] g_relation_delete [Glib] g_relation_destroy [Glib] g_relation_exists [Glib] g_relation_index [Glib] g_relation_insert [Glib] g_relation_new [Glib] g_relation_print [Glib] g_relation_select [Glib] g_tuples_destroy [Glib] g_tuples_index [Glib] __________________________________________________________ 15.2.36. Glib Shell-related Utilities __________________________________________________________ 15.2.36.1. Interfaces for Glib Shell-related Utilities An LSB conforming implementation shall provide the generic functions for Glib Shell-related Utilities specified in Table 15-39, with the full mandatory functionality as described in the referenced underlying specification. Table 15-39. libglib-2.0 - Glib Shell-related Utilities Function Interfaces g_shell_error_quark [Glib] g_shell_parse_argv [Glib] g_shell_quote [Glib] g_shell_unquote [Glib] __________________________________________________________ 15.2.37. Glib Simple XML Subset Parser __________________________________________________________ 15.2.37.1. Interfaces for Glib Simple XML Subset Parser An LSB conforming implementation shall provide the generic functions for Glib Simple XML Subset Parser specified in Table 15-40, with the full mandatory functionality as described in the referenced underlying specification. Table 15-40. libglib-2.0 - Glib Simple XML Subset Parser Function Interfaces g_markup_error_quark [Glib] g_markup_escape_text [Glib] g_markup_parse_context_end_parse [Glib] g_markup_parse_context_free [Glib] g_markup_parse_context_get_element [Glib] g_markup_parse_context_get_position [Glib] g_markup_parse_context_new [Glib] g_markup_parse_context_parse [Glib] g_markup_printf_escaped [Glib] g_markup_vprintf_escaped [Glib] __________________________________________________________ 15.2.38. Glib Singly-Linked Lists __________________________________________________________ 15.2.38.1. Interfaces for Glib Singly-Linked Lists An LSB conforming implementation shall provide the generic functions for Glib Singly-Linked Lists specified in Table 15-41, with the full mandatory functionality as described in the referenced underlying specification. Table 15-41. libglib-2.0 - Glib Singly-Linked Lists Function Interfaces g_slist_alloc [Glib] g_slist_append [Glib] g_slist_concat [Glib] g_slist_copy [Glib] g_slist_delete_link [Glib] g_slist_find [Glib] g_slist_find_custom [Glib] g_slist_foreach [Glib] g_slist_free [Glib] g_slist_free_1 [Glib] g_slist_index [Glib] g_slist_insert [Glib] g_slist_insert_before [Glib] g_slist_insert_sorted [Glib] g_slist_last [Glib] g_slist_length [Glib] g_slist_nth [Glib] g_slist_nth_data [Glib] g_slist_pop_allocator [Glib] g_slist_position [Glib] g_slist_prepend [Glib] g_slist_push_allocator [Glib] g_slist_remove [Glib] g_slist_remove_all [Glib] g_slist_remove_link [Glib] g_slist_reverse [Glib] g_slist_sort [Glib] g_slist_sort_with_data [Glib] __________________________________________________________ 15.2.39. Glib Spawning Processes __________________________________________________________ 15.2.39.1. Interfaces for Glib Spawning Processes An LSB conforming implementation shall provide the generic functions for Glib Spawning Processes specified in Table 15-42, with the full mandatory functionality as described in the referenced underlying specification. Table 15-42. libglib-2.0 - Glib Spawning Processes Function Interfaces g_spawn_async [Glib] g_spawn_async_with_pipes [Glib] g_spawn_close_pid [Glib] g_spawn_command_line_async [Glib] g_spawn_command_line_sync [Glib] g_spawn_error_quark [Glib] g_spawn_sync [Glib] __________________________________________________________ 15.2.40. Glib String Chunks __________________________________________________________ 15.2.40.1. Interfaces for Glib String Chunks An LSB conforming implementation shall provide the generic functions for Glib String Chunks specified in Table 15-43, with the full mandatory functionality as described in the referenced underlying specification. Table 15-43. libglib-2.0 - Glib String Chunks Function Interfaces g_string_chunk_free [Glib] g_string_chunk_insert [Glib] g_string_chunk_insert_const [Glib] g_string_chunk_insert_len [Glib] g_string_chunk_new [Glib] __________________________________________________________ 15.2.41. Glib String Utility Functions __________________________________________________________ 15.2.41.1. Interfaces for Glib String Utility Functions An LSB conforming implementation shall provide the generic functions for Glib String Utility Functions specified in Table 15-44, with the full mandatory functionality as described in the referenced underlying specification. Table 15-44. libglib-2.0 - Glib String Utility Functions Function Interfaces g_ascii_digit_value [Glib] g_ascii_dtostr [Glib] g_ascii_formatd [Glib] g_ascii_strcasecmp [Glib] g_ascii_strdown [Glib] g_ascii_strncasecmp [Glib] g_ascii_strtod [Glib] g_ascii_strtoull [Glib] g_ascii_strup [Glib] g_ascii_tolower [Glib] g_ascii_toupper [Glib] g_ascii_xdigit_value [Glib] g_fprintf [Glib] g_printf [Glib] g_printf_string_upper_bound [Glib] g_snprintf [Glib] g_sprintf [Glib] g_stpcpy [Glib] g_str_has_prefix [Glib] g_str_has_suffix [Glib] g_strcanon [Glib] g_strchomp [Glib] g_strchug [Glib] g_strcompress [Glib] g_strconcat [Glib] g_strdelimit [Glib] g_strdup [Glib] g_strdup_printf [Glib] g_strdup_vprintf [Glib] g_strdupv [Glib] g_strerror [Glib] g_strescape [Glib] g_strfreev [Glib] g_string_ascii_down [Glib] g_string_ascii_up [Glib] g_strjoin [Glib] g_strjoinv [Glib] g_strlcat [Glib] g_strlcpy [Glib] g_strndup [Glib] g_strnfill [Glib] g_strreverse [Glib] g_strrstr [Glib] g_strrstr_len [Glib] g_strsignal [Glib] g_strsplit [Glib] g_strsplit_set [Glib] g_strstr_len [Glib] g_strtod [Glib] g_strv_length [Glib] g_vasprintf [Glib] g_vfprintf [Glib] g_vprintf [Glib] g_vsnprintf [Glib] g_vsprintf [Glib] __________________________________________________________ 15.2.42. Glib Strings __________________________________________________________ 15.2.42.1. Interfaces for Glib Strings An LSB conforming implementation shall provide the generic functions for Glib Strings specified in Table 15-45, with the full mandatory functionality as described in the referenced underlying specification. Table 15-45. libglib-2.0 - Glib Strings Function Interfaces g_string_append [Glib] g_string_append_c [Glib] g_string_append_len [Glib] g_string_append_printf [Glib] g_string_append_unichar [Glib] g_string_assign [Glib] g_string_equal [Glib] g_string_erase [Glib] g_string_free [Glib] g_string_hash [Glib] g_string_insert [Glib] g_string_insert_c [Glib] g_string_insert_len [Glib] g_string_insert_unichar [Glib] g_string_new [Glib] g_string_new_len [Glib] g_string_prepend [Glib] g_string_prepend_c [Glib] g_string_prepend_len [Glib] g_string_prepend_unichar [Glib] g_string_printf [Glib] g_string_set_size [Glib] g_string_sized_new [Glib] g_string_truncate [Glib] __________________________________________________________ 15.2.43. Glib - The Main Event Loop __________________________________________________________ 15.2.43.1. Interfaces for Glib - The Main Event Loop An LSB conforming implementation shall provide the generic functions for Glib - The Main Event Loop specified in Table 15-46, with the full mandatory functionality as described in the referenced underlying specification. Table 15-46. libglib-2.0 - Glib - The Main Event Loop Function Interfaces g_child_watch_add [Glib] g_child_watch_add_full [Glib] g_child_watch_source_new [Glib] g_idle_add [Glib] g_idle_add_full [Glib] g_idle_remove_by_data [Glib] g_idle_source_new [Glib] g_main_context_acquire [Glib] g_main_context_add_poll [Glib] g_main_context_check [Glib] g_main_context_default [Glib] g_main_context_dispatch [Glib] g_main_context_find_source_by_funcs_user_data [Glib] g_main_context_find_source_by_id [Glib] g_main_context_find_source_by_user_data [Glib] g_main_context_get_poll_func [Glib] g_main_context_iteration [Glib] g_main_context_new [Glib] g_main_context_pending [Glib] g_main_context_prepare [Glib] g_main_context_query [Glib] g_main_context_ref [Glib] g_main_context_release [Glib] g_main_context_remove_poll [Glib] g_main_context_set_poll_func [Glib] g_main_context_unref [Glib] g_main_context_wait [Glib] g_main_context_wakeup [Glib] g_main_depth [Glib] g_main_loop_get_context [Glib] g_main_loop_is_running [Glib] g_main_loop_new [Glib] g_main_loop_quit [Glib] g_main_loop_ref [Glib] g_main_loop_run [Glib] g_main_loop_unref [Glib] g_source_add_poll [Glib] g_source_attach [Glib] g_source_destroy [Glib] g_source_get_can_recurse [Glib] g_source_get_context [Glib] g_source_get_current_time [Glib] g_source_get_id [Glib] g_source_get_priority [Glib] g_source_new [Glib] g_source_ref [Glib] g_source_remove [Glib] g_source_remove_by_funcs_user_data [Glib] g_source_remove_by_user_data [Glib] g_source_remove_poll [Glib] g_source_set_callback [Glib] g_source_set_callback_indirect [Glib] g_source_set_can_recurse [Glib] g_source_set_priority [Glib] g_source_unref [Glib] g_timeout_add [Glib] g_timeout_add_full [Glib] g_timeout_source_new [Glib] __________________________________________________________ 15.2.44. Glib Thread Pools __________________________________________________________ 15.2.44.1. Interfaces for Glib Thread Pools An LSB conforming implementation shall provide the generic functions for Glib Thread Pools specified in Table 15-47, with the full mandatory functionality as described in the referenced underlying specification. Table 15-47. libglib-2.0 - Glib Thread Pools Function Interfaces g_thread_pool_free [Glib] g_thread_pool_get_max_threads [Glib] g_thread_pool_get_max_unused_threads [Glib] g_thread_pool_get_num_threads [Glib] g_thread_pool_get_num_unused_threads [Glib] g_thread_pool_new [Glib] g_thread_pool_push [Glib] g_thread_pool_set_max_threads [Glib] g_thread_pool_set_max_unused_threads [Glib] g_thread_pool_stop_unused_threads [Glib] g_thread_pool_unprocessed [Glib] __________________________________________________________ 15.2.45. Glib Threads __________________________________________________________ 15.2.45.1. Interfaces for Glib Threads An LSB conforming implementation shall provide the generic functions for Glib Threads specified in Table 15-48, with the full mandatory functionality as described in the referenced underlying specification. Table 15-48. libglib-2.0 - Glib Threads Function Interfaces g_static_mutex_free [Glib] g_static_mutex_init [Glib] g_static_private_free [Glib] g_static_private_get [Glib] g_static_private_init [Glib] g_static_private_set [Glib] g_static_rec_mutex_free [Glib] g_static_rec_mutex_init [Glib] g_static_rec_mutex_lock [Glib] g_static_rec_mutex_lock_full [Glib] g_static_rec_mutex_trylock [Glib] g_static_rec_mutex_unlock [Glib] g_static_rec_mutex_unlock_full [Glib] g_static_rw_lock_free [Glib] g_static_rw_lock_init [Glib] g_static_rw_lock_reader_lock [Glib] g_static_rw_lock_reader_trylock [Glib] g_static_rw_lock_reader_unlock [Glib] g_static_rw_lock_writer_lock [Glib] g_static_rw_lock_writer_trylock [Glib] g_static_rw_lock_writer_unlock [Glib] g_thread_create_full [Glib] g_thread_error_quark [Glib] g_thread_exit [Glib] g_thread_join [Glib] g_thread_self [Glib] g_thread_set_priority [Glib] __________________________________________________________ 15.2.46. Glib Timers __________________________________________________________ 15.2.46.1. Interfaces for Glib Timers An LSB conforming implementation shall provide the generic functions for Glib Timers specified in Table 15-49, with the full mandatory functionality as described in the referenced underlying specification. Table 15-49. libglib-2.0 - Glib Timers Function Interfaces g_timer_continue [Glib] g_timer_destroy [Glib] g_timer_elapsed [Glib] g_timer_new [Glib] g_timer_reset [Glib] g_timer_start [Glib] g_timer_stop [Glib] __________________________________________________________ 15.2.47. Glib Trash Stacks __________________________________________________________ 15.2.47.1. Interfaces for Glib Trash Stacks An LSB conforming implementation shall provide the generic functions for Glib Trash Stacks specified in Table 15-50, with the full mandatory functionality as described in the referenced underlying specification. Table 15-50. libglib-2.0 - Glib Trash Stacks Function Interfaces g_trash_stack_height [Glib] g_trash_stack_peek [Glib] g_trash_stack_pop [Glib] g_trash_stack_push [Glib] __________________________________________________________ 15.2.48. Glib Unicode Manipulation __________________________________________________________ 15.2.48.1. Interfaces for Glib Unicode Manipulation An LSB conforming implementation shall provide the generic functions for Glib Unicode Manipulation specified in Table 15-51, with the full mandatory functionality as described in the referenced underlying specification. Table 15-51. libglib-2.0 - Glib Unicode Manipulation Function Interfaces g_ucs4_to_utf16 [Glib] g_ucs4_to_utf8 [Glib] g_unichar_break_type [Glib] g_unichar_digit_value [Glib] g_unichar_get_mirror_char [Glib] g_unichar_isalnum [Glib] g_unichar_isalpha [Glib] g_unichar_iscntrl [Glib] g_unichar_isdefined [Glib] g_unichar_isdigit [Glib] g_unichar_isgraph [Glib] g_unichar_islower [Glib] g_unichar_isprint [Glib] g_unichar_ispunct [Glib] g_unichar_isspace [Glib] g_unichar_istitle [Glib] g_unichar_isupper [Glib] g_unichar_iswide [Glib] g_unichar_isxdigit [Glib] g_unichar_to_utf8 [Glib] g_unichar_tolower [Glib] g_unichar_totitle [Glib] g_unichar_toupper [Glib] g_unichar_type [Glib] g_unichar_validate [Glib] g_unichar_xdigit_value [Glib] g_unicode_canonical_decomposition [Glib] g_unicode_canonical_ordering [Glib] g_utf16_to_ucs4 [Glib] g_utf16_to_utf8 [Glib] g_utf8_casefold [Glib] g_utf8_collate [Glib] g_utf8_collate_key [Glib] g_utf8_find_next_char [Glib] g_utf8_find_prev_char [Glib] g_utf8_get_char [Glib] g_utf8_get_char_validated [Glib] g_utf8_normalize [Glib] g_utf8_offset_to_pointer [Glib] g_utf8_pointer_to_offset [Glib] g_utf8_prev_char [Glib] g_utf8_strchr [Glib] g_utf8_strdown [Glib] g_utf8_strlen [Glib] g_utf8_strncpy [Glib] g_utf8_strrchr [Glib] g_utf8_strreverse [Glib] g_utf8_strup [Glib] g_utf8_to_ucs4 [Glib] g_utf8_to_ucs4_fast [Glib] g_utf8_to_utf16 [Glib] g_utf8_validate [Glib] __________________________________________________________ 15.2.49. Glib Version Information __________________________________________________________ 15.2.49.1. Interfaces for Glib Version Information An LSB conforming implementation shall provide the generic functions for Glib Version Information specified in Table 15-52, with the full mandatory functionality as described in the referenced underlying specification. Table 15-52. libglib-2.0 - Glib Version Information Function Interfaces glib_check_version [Glib] An LSB conforming implementation shall provide the generic data interfaces for Glib Version Information specified in Table 15-53, with the full mandatory functionality as described in the referenced underlying specification. Table 15-53. libglib-2.0 - Glib Version Information Data Interfaces glib_binary_age [Glib] glib_interface_age [Glib] glib_major_version [Glib] glib_mem_profiler_table [Glib] glib_micro_version [Glib] glib_minor_version [Glib] __________________________________________________________ 15.3. Data Definitions for libglib-2.0 This section defines global identifiers and their values that are associated with interfaces contained in libglib-2.0. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 15.3.1. glib-2.0/glib.h #define GLIB_HAVE_ALLOCA_H #define GLIB_HAVE_SYS_POLL_H #define G_GINT32_MODIFIER "" #define G_GNUC_FUNCTION "" #define G_GNUC_PRETTY_FUNCTION "" #define G_OPTION_REMAINING "" #define G_OS_UNIX #define G_THREADS_ENABLED #define G_THREADS_IMPL_POSIX #define G_WIN32_DLLMAIN_FOR_DLL_NAME(static,dll_name) #define G_CSET_LATINC \ "\300\301\302\303\304\305\306" \ "\307\310\311\312\313\314\315\316\317\320" "\321\322\323\324\325\326" \ "\330\331\332\333\334\335\336" #define G_CSET_LATINS \ "\337\340\341\342\343\344\345\346" \ "\347\350\351\352\353\354\355\356\357\360" "\361\362\363\364\365\366" \ "\370\371\372\373\374\375\376\377" #define g_mem_chunk_create(type,pre_alloc,alloc_type) \ ( g_mem_chunk_new (#type " mem chunks (" #pre_alloc ")", sizeof\ (type), sizeof (type) * (pre_alloc), (alloc_type)) ) #define G_NODE_IS_ROOT(node) \ (((GNode*) (node))->parent == NULL && ((GNode*) (node))->prev == NULL \ && ((GNode*) (node))->next == NULL) #define g_once(once,func,arg) \ (((once)->status == G_ONCE_STATUS_READY) ? (once)->retval : \ g_once_impl ((once), (func), (arg))) #define CLAMP(x,low,high) \ (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) #define G_STRUCT_OFFSET(struct_type,member) \ ((glong) ((guint8*) &((struct_type*) 0)->member)) #define G_STRUCT_MEMBER_P(struct_p,struct_offset) \ ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset))) #define GUINT16_SWAP_LE_BE_CONSTANT(val) \ ((guint16) ( (guint16) ((guint16) (val) >> 8) | (guint16) ((guint16) \ (val) << 8))) #define GUINT32_SWAP_LE_BE_CONSTANT(val) \ ((guint32) ( (((guint32) (val) & (guint32) 0x000000ffU) << 24) | \ (((guint32) (val) & (guint32) 0x0000ff00U) << 8) | (((guint32) (val) & \ (guint32) 0x00ff0000U) >> 8) | (((guint32) (val) & (guint32) \ 0xff000000U) >> 24))) #define GUINT32_SWAP_LE_PDP(val) \ ((guint32) ( (((guint32) (val) & (guint32) 0x0000ffffU) << 16) | \ (((guint32) (val) & (guint32) 0xffff0000U) >> 16))) #define GUINT32_SWAP_BE_PDP(val) \ ((guint32) ( (((guint32) (val) & (guint32) 0x00ff00ffU) << 8) |\ (((guint32) (val) & (guint32) 0xff00ff00U) >> 8))) #define GUINT64_SWAP_LE_BE_CONSTANT(val) \ ((guint64) ( (((guint64) (val) & (guint64) G_GINT64_CONSTANT \ (0x00000000000000ffU)) << 56) | (((guint64) (val) & (guint64) \ G_GINT64_CONSTANT (0x000000000000ff00U)) << 40) | (((guint64) (val) & \ (guint64) G_GINT64_CONSTANT (0x0000000000ff0000U)) << 24) | \ (((guint64) (val) & (guint64) G_GINT64_CONSTANT (0x00000000ff000000U)) \ << 8) | (((guint64) (val) & (guint64) G_GINT64_CONSTANT \ (0x000000ff00000000U)) >> 8) | (((guint64) (val) & (guint64) \ G_GINT64_CONSTANT (0x0000ff0000000000U)) >> 24) | (((guint64) (val) & \ (guint64) G_GINT64_CONSTANT (0x00ff000000000000U)) >> 40) | \ (((guint64) (val) & (guint64) G_GINT64_CONSTANT (0xff00000000000000U)) \ >> 56))) #define g_ascii_isalnum(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_ALNUM) != 0) #define g_ascii_isalpha(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_ALPHA) != 0) #define g_ascii_iscntrl(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_CNTRL) != 0) #define g_ascii_isdigit(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_DIGIT) != 0) #define g_ascii_isgraph(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_GRAPH) != 0) #define g_ascii_islower(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_LOWER) != 0) #define g_ascii_isprint(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_PRINT) != 0) #define g_ascii_ispunct(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_PUNCT) != 0) #define g_ascii_isspace(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_SPACE) != 0) #define g_ascii_isupper(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_UPPER) != 0) #define g_ascii_isxdigit(c) \ ((g_ascii_table[(guchar) (c)] & G_ASCII_XDIGIT) != 0) #define G_HOOK_ACTIVE(hook) \ ((G_HOOK_FLAGS (hook) & G_HOOK_FLAG_ACTIVE) != 0) #define G_HOOK_IN_CALL(hook) \ ((G_HOOK_FLAGS (hook) & G_HOOK_FLAG_IN_CALL) != 0) #define g_node_first_child(node) \ ((node) ? ((GNode*) (node))->children : NULL) #define g_node_next_sibling(node) \ ((node) ? ((GNode*) (node))->next : NULL) #define g_node_prev_sibling(node) \ ((node) ? ((GNode*) (node))->prev : NULL) #define g_new(struct_type,n_structs) \ ((struct_type *) g_malloc (((gsize) sizeof (struct_type)) * ((gsize) \ (n_structs)))) #define g_new0(struct_type,n_structs) \ ((struct_type *) g_malloc0 (((gsize) sizeof (struct_type)) * ((gsize) \ (n_structs)))) #define g_renew(struct_type,mem,n_structs) \ ((struct_type *) g_realloc ((mem), ((gsize) sizeof (struct_type)) * \ ((gsize) (n_structs)))) #define g_newa(struct_type,n_structs) \ ((struct_type*) g_alloca (sizeof (struct_type) * (gsize) \ (n_structs))) #define G_STRUCT_MEMBER(member_type,struct_p,struct_offset) \ (*(member_type*) G_STRUCT_MEMBER_P ((struct_p), (struct_offset))) #define G_THREAD_UF(op,arglist) \ (*g_thread_functions_for_glib_use . op) arglist #define GLIB_CHECK_VERSION(major,minor,micro) \ (GLIB_MAJOR_VERSION > (major) || (GLIB_MAJOR_VERSION == (major)&& \ GLIB_MINOR_VERSION > (minor)) || (GLIB_MAJOR_VERSION == (major)&& \ GLIB_MINOR_VERSION == (minor) && GLIB_MICRO_VERSION >= (micro))) #define g_atomic_int_dec_and_test(atomic) \ (g_atomic_int_exchange_and_add ((atomic), -1) == 1) #define g_static_mutex_get_mutex_impl_shortcut(mutex) \ (g_atomic_pointer_get ((gpointer*)mutex) ? *(mutex) : \ g_static_mutex_get_mutex_impl (mutex)) #define g_datalist_get_data(dl,k) \ (g_datalist_id_get_data ((dl), g_quark_try_string (k))) #define g_dataset_get_data(l,k) \ (g_dataset_id_get_data ((l), g_quark_try_string (k))) #define G_HOOK_IS_VALID(hook) \ (G_HOOK (hook)->hook_id != 0 && (G_HOOK_FLAGS (hook) & \ G_HOOK_FLAG_ACTIVE)) #define G_HOOK_IS_UNLINKED(hook) \ (G_HOOK (hook)->next == NULL && G_HOOK (hook)->prev == NULL && G_HOOK \ (hook)->hook_id == 0 && G_HOOK (hook)->ref_count == 0) #define g_thread_create(func,data,joinable,error) \ (g_thread_create_full (func, data, 0, joinable, FALSE, \ G_THREAD_PRIORITY_NORMAL, error)) #define G_THREAD_ECF(op,fail,mutex,type) \ (g_thread_supported () ? ((type(*)(GMutex*, gulong, gchar*)) \ (*g_thread_functions_for_glib_use . op)) (mutex, G_MUTEX_DEBUG_MAGIC, \ G_STRLOC) : (fail)) #define G_THREAD_CF(op,fail,arg) \ (g_thread_supported () ? G_THREAD_UF (op, arg) : (fail)) #define g_static_mutex_get_mutex(mutex) \ (g_thread_use_default_impl ? ((GMutex*) &((mutex)->static_mutex)) : \ g_static_mutex_get_mutex_impl_shortcut (&((mutex)->runtime_mutex))) #define G_LOCK_DEFINE(name) \ GStaticMutex G_LOCK_NAME (name) = G_STATIC_MUTEX_INIT #define g_datalist_remove_no_notify(dl,k) \ g_datalist_id_remove_no_notify ((dl), g_quark_try_string (k)) #define g_datalist_id_remove_data(dl,q) \ g_datalist_id_set_data ((dl), (q), NULL) #define g_datalist_remove_data(dl,k) \ g_datalist_id_set_data ((dl), g_quark_try_string (k), NULL) #define g_datalist_id_set_data(dl,q,d) \ g_datalist_id_set_data_full ((dl), (q), (d), NULL) #define g_datalist_set_data_full(dl,k,d,f) \ g_datalist_id_set_data_full ((dl), g_quark_from_string (k), (d), (f)) #define g_datalist_set_data(dl,k,d) \ g_datalist_set_data_full ((dl), (k), (d), NULL) #define g_dataset_remove_no_notify(l,k) \ g_dataset_id_remove_no_notify ((l), g_quark_try_string (k)) #define g_dataset_id_remove_data(l,k) \ g_dataset_id_set_data ((l), (k), NULL) #define g_dataset_remove_data(l,k) \ g_dataset_id_set_data ((l), g_quark_try_string (k), NULL) #define g_dataset_id_set_data(l,k,d) \ g_dataset_id_set_data_full ((l), (k), (d), NULL) #define g_dataset_set_data_full(l,k,d,f) \ g_dataset_id_set_data_full ((l), g_quark_from_string (k), (d), (f)) #define g_dataset_set_data(l,k,d) \ g_dataset_set_data_full ((l), (k), (d), NULL) #define g_hook_append(hook_list,hook) \ g_hook_insert_before ((hook_list), NULL, (hook)) #define g_critical(...) \ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, __VA_ARGS__) #define g_message(...) \ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, __VA_ARGS__) #define g_warning(...) \ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, __VA_ARGS__) #define g_static_mutex_lock(mutex) \ g_mutex_lock (g_static_mutex_get_mutex (mutex)) #define g_static_mutex_trylock(mutex) \ g_mutex_trylock (g_static_mutex_get_mutex (mutex)) #define g_static_mutex_unlock(mutex) \ g_mutex_unlock (g_static_mutex_get_mutex (mutex)) #define g_node_insert_data(parent,position,data) \ g_node_insert ((parent), (position), g_node_new (data)) #define g_node_insert_data_before(parent,sibling,data) \ g_node_insert_before ((parent), (sibling), g_node_new (data)) #define g_node_append(parent,node) \ g_node_insert_before ((parent), NULL, (node)) #define g_node_append_data(parent,data) \ g_node_insert_before ((parent), NULL, g_node_new (data)) #define g_node_prepend_data(parent,data) \ g_node_prepend ((parent), g_node_new (data)) #define g_chunk_free(mem,mem_chunk) \ G_STMT_START { g_mem_chunk_free ((mem_chunk), (mem)); } G_STMT_END #define g_memmove(d,s,n) \ G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END #define g_assert_not_reached() \ G_STMT_START{ g_assert_warning (G_LOG_DOMAIN, __FILE__, __LINE__, \ __PRETTY_FUNCTION__, NULL); }G_STMT_END #define g_return_val_if_reached(val) \ G_STMT_START{ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, "file %s: \ line %d (%s): should not be reached", __FILE__, __LINE__, \ __PRETTY_FUNCTION__); return (val); }G_STMT_END #define g_return_if_reached() \ G_STMT_START{ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, "file %s: \ line %d (%s): should not be reached", __FILE__, __LINE__, \ __PRETTY_FUNCTION__); return; }G_STMT_END #define g_assert(expr) \ G_STMT_START{ if G_LIKELY(expr) { } else g_assert_warning \ (G_LOG_DOMAIN, __FILE__, __LINE__, __PRETTY_FUNCTION__, #expr);\ }G_STMT_END #define g_return_val_if_fail(expr,val) \ G_STMT_START{ if G_LIKELY(expr) { } else { g_return_if_fail_warning \ (G_LOG_DOMAIN, __PRETTY_FUNCTION__, #expr); return (val); }; \ }G_STMT_END #define g_return_if_fail(expr) \ G_STMT_START{ if G_LIKELY(expr) { } else { g_return_if_fail_warning \ (G_LOG_DOMAIN, __PRETTY_FUNCTION__, #expr); return; }; }G_STMT_END #define G_BREAKPOINT() \ G_STMT_START{ __asm__ __volatile__ ("int $03"); }G_STMT_END #define g_cond_broadcast(cond) \ G_THREAD_CF (cond_broadcast, (void)0, (cond)) #define g_cond_timed_wait(cond,mutex,abs_time) \ G_THREAD_CF (cond_timed_wait, TRUE, (cond, mutex, abs_time)) #define g_cond_wait(cond,mutex) \ G_THREAD_CF (cond_wait, (void)0, (cond, mutex)) #define g_private_get(private_key) \ G_THREAD_CF (private_get, ((gpointer)private_key), (private_key)) #define g_private_set(private_key,value) \ G_THREAD_CF (private_set, (void) (private_key = (GPrivate*) (value)), \ (private_key, value)) #define G_GNUC_PRINTF(format_idx,arg_idx) \ __attribute__((__format__ (__printf__, format_idx, arg_idx))) #define G_GNUC_SCANF(format_idx,arg_idx) \ __attribute__((__format__ (__scanf__, format_idx, arg_idx))) #define G_STATIC_RW_LOCK_INIT \ { G_STATIC_MUTEX_INIT, NULL, NULL, 0, FALSE, 0, 0 } #define G_STRINGIFY_ARG(contents) #contents #define G_DIR_SEPARATOR '/' #define g_chunk_new(type,chunk) ( (type *) g_mem_chunk_alloc (chunk) ) #define g_chunk_new0(type,chunk) ( (type *) g_mem_chunk_alloc0 (chunk) ) #define MIN(a,b) (((a) < (b)) ? (a) : (b)) #define ABS(a) (((a) < 0) ? -(a) : (a)) #define MAX(a,b) (((a) > (b)) ? (a) : (b)) #define G_NODE_IS_LEAF(node) (((GNode*) (node))->children == NULL) #define g_array_index(a,t,i) (((t*) (a)->data) [(i)]) #define g_ptr_array_index(array,index_) ((array)->pdata)[index_] #define G_IS_DIR_SEPARATOR(c) ((c) == G_DIR_SEPARATOR) #define G_STRFUNC ((const char*) (__PRETTY_FUNCTION__)) #define G_LOG_DOMAIN ((gchar*) 0) #define G_HOOK(hook) ((GHook*) (hook)) #define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val)) #define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val)) #define GINT16_TO_LE(val) ((gint16) (val)) #define G_MAXINT16 ((gint16) 0x7fff) #define G_MININT16 ((gint16) 0x8000) #define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val)) #define GINT32_TO_LE(val) ((gint32) (val)) #define G_MAXINT32 ((gint32) 0x7fffffff) #define G_MININT32 ((gint32) 0x80000000) #define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val)) #define GINT64_TO_LE(val) ((gint64) (val)) #define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val)) #define G_MAXINT8 ((gint8) 0x7f) #define G_MININT8 ((gint8) 0x80) #define GSIZE_TO_POINTER(s) ((gpointer) (gsize) (s)) #define GPOINTER_TO_SIZE(p) ((gsize) (p)) #define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val)) #define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val)) #define GUINT16_SWAP_LE_PDP(val) ((guint16) (val)) #define GUINT16_TO_LE(val) ((guint16) (val)) #define G_MAXUINT16 ((guint16) 0xffff) #define GUINT32_TO_LE(val) ((guint32) (val)) #define G_MAXUINT32 ((guint32) 0xffffffff) #define GUINT64_TO_LE(val) ((guint64) (val)) #define G_MAXUINT8 ((guint8) 0xff) #define g_random_boolean() ((g_random_int () & (1 << 15)) != 0) #define g_rand_boolean(rand_) ((g_rand_int (rand_) & (1 << 15)) != 0) #define g_list_next(list) ((list) ? (((GList *)(list))->next) : NULL) #define g_list_previous(list) ((list) ? (((GList *)(list))->prev) : NULL) #define g_slist_next(slist) ((slist) ? (((GSList *)(slist))->next) : NULL) #define g_atomic_int_get(atomic) (*(atomic)) #define g_atomic_pointer_get(atomic) (*(atomic)) #define G_LOG_2_BASE_10 (0.30102999566398119521) #define G_ALLOCATOR_LIST (1) #define G_IEEE754_DOUBLE_BIAS (1023) #define G_IEEE754_FLOAT_BIAS (127) #define G_ALLOCATOR_SLIST (2) #define G_ASCII_DTOSTR_BUF_SIZE (29 + 10) #define G_ALLOCATOR_NODE (3) #define G_HOOK_FLAG_USER_SHIFT (4) #define G_LOG_LEVEL_USER_SHIFT (8) #define g_ATEXIT(proc) (atexit (proc)) #define g_utf8_next_char(p) (char *)((p) + g_utf8_skip[*(guchar *)(p)]) #define G_LIKELY(expr) (expr) #define G_UNLIKELY(expr) (expr) #define GINT16_FROM_BE(val) (GINT16_TO_BE (val)) #define GINT16_FROM_LE(val) (GINT16_TO_LE (val)) #define GINT32_FROM_BE(val) (GINT32_TO_BE (val)) #define GINT32_FROM_LE(val) (GINT32_TO_LE (val)) #define GINT64_FROM_BE(val) (GINT64_TO_BE (val)) #define GINT64_FROM_LE(val) (GINT64_TO_LE (val)) #define GINT_FROM_BE(val) (GINT_TO_BE (val)) #define GINT_FROM_LE(val) (GINT_TO_LE (val)) #define GLONG_FROM_BE(val) (GLONG_TO_BE (val)) #define GLONG_FROM_LE(val) (GLONG_TO_LE (val)) #define g_ntohs(val) (GUINT16_FROM_BE (val)) #define GUINT16_SWAP_BE_PDP(val) (GUINT16_SWAP_LE_BE (val)) #define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val)) #define GUINT16_SWAP_LE_BE(val) (GUINT16_SWAP_LE_BE_CONSTANT (val)) #define GUINT16_FROM_BE(val) (GUINT16_TO_BE (val)) #define g_htons(val) (GUINT16_TO_BE (val)) #define GUINT16_FROM_LE(val) (GUINT16_TO_LE (val)) #define g_ntohl(val) (GUINT32_FROM_BE (val)) #define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val)) #define GUINT32_SWAP_LE_BE(val) (GUINT32_SWAP_LE_BE_CONSTANT (val)) #define GUINT32_FROM_BE(val) (GUINT32_TO_BE (val)) #define g_htonl(val) (GUINT32_TO_BE (val)) #define GUINT32_FROM_LE(val) (GUINT32_TO_LE (val)) #define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val)) #define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_CONSTANT (val)) #define GUINT64_FROM_BE(val) (GUINT64_TO_BE (val)) #define GUINT64_FROM_LE(val) (GUINT64_TO_LE (val)) #define GUINT_FROM_BE(val) (GUINT_TO_BE (val)) #define GUINT_FROM_LE(val) (GUINT_TO_LE (val)) #define GULONG_FROM_BE(val) (GULONG_TO_BE (val)) #define GULONG_FROM_LE(val) (GULONG_TO_LE (val)) #define g_atomic_int_inc(atomic) (g_atomic_int_add ((atomic), 1)) #define G_HOOK_FLAGS(hook) (G_HOOK (hook)->flags) #define G_LOG_FATAL_MASK (G_LOG_FLAG_RECURSION | G_LOG_LEVEL_ERROR) #define G_OPTION_ERROR (g_option_error_quark ()) #define g_thread_supported() (g_threads_got_initialized) #define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) #define G_STMT_START (void) __extension__ ( #define G_STMT_END ) #define G_PRIORITY_HIGH -100 #define G_DIR_SEPARATOR_S "/" #define G_HAVE_GROWING_STACK 0 #define G_PRIORITY_DEFAULT 0 #define G_LN2 0.69314718055994530941723212145817656807550013436026 #define G_PI_4 0.78539816339744830961566084581987572104929234984378 #define G_CSET_DIGITS "0123456789" #define G_DATE_BAD_DAY 0U #define G_DATE_BAD_JULIAN 0U #define G_DATE_BAD_YEAR 0U #define G_MUTEX_DEBUG_MAGIC 0xf8e18ad7 #define G_ALLOC_ONLY 1 #define G_CAN_INLINE 1 #define G_HAVE_GINT64 1 #define G_HAVE_GNUC_VARARGS 1 #define G_HAVE_GNUC_VISIBILITY 1 #define G_HAVE_INLINE 1 #define G_HAVE_ISO_VARARGS 1 #define G_HAVE___INLINE 1 #define G_HAVE___INLINE__ 1 #define G_SQRT2 1.4142135623730950488016887242096980785696718753769 #define G_PI_2 1.5707963267948966192313216916397514420985846996876 #define G_PRIORITY_HIGH_IDLE 100 #define G_USEC_PER_SEC 1000000 #define G_LITTLE_ENDIAN 1234 #define GLIB_MAJOR_VERSION 2 #define G_ALLOC_AND_FREE 2 #define G_LN10 2.3025850929940456840179914546843642076011014886288 #define G_E 2.7182818284590452353602874713526624977572470937000 #define G_PRIORITY_DEFAULT_IDLE 200 #define G_PI 3.1415926535897932384626433832795028841971693993751 #define G_PRIORITY_LOW 300 #define G_PDP_ENDIAN 3412 #define G_BIG_ENDIAN 4321 #define GLIB_MICRO_VERSION 6 #define GLIB_MINOR_VERSION 6 #define G_SEARCHPATH_SEPARATOR : #define G_SEARCHPATH_SEPARATOR_S ":" #define GLIB_SYSDEF_POLLIN =1 #define GLIB_SYSDEF_POLLHUP =16 #define GLIB_SYSDEF_POLLPRI =2 #define GLIB_SYSDEF_POLLNVAL =32 #define GLIB_SYSDEF_POLLOUT =4 #define GLIB_SYSDEF_POLLERR =8 #define G_CSET_A_2_Z "ABCDEFGHIJKLMNOPQRSTUVWXYZ" #define G_CSET_a_2_z "abcdefghijklmnopqrstuvwxyz" #define g_alloca(size) alloca (size) #define G_CONST_RETURN const #define G_MAXDOUBLE DBL_MAX #define G_MINDOUBLE DBL_MIN #define GLIB_VAR extern #define G_LOCK_EXTERN(name) extern GStaticMutex G_LOCK_NAME (name) #define G_INLINE_FUNC extern inline #define G_MAXFLOAT FLT_MAX #define G_MINFLOAT FLT_MIN #define G_MEM_ALIGN GLIB_SIZEOF_LONG #define g_array_append_val(a,v) g_array_append_vals (a, &(v), 1) #define g_array_insert_val(a,i,v) g_array_insert_vals (a, i, &(v), 1) #define g_array_prepend_val(a,v) g_array_prepend_vals (a, &(v), 1) #define ATEXIT(proc) g_ATEXIT(proc) #define G_CONVERT_ERROR g_convert_error_quark() #define g_date_day g_date_get_day #define g_date_days_in_month g_date_get_days_in_month #define g_date_day_of_year g_date_get_day_of_year #define g_date_julian g_date_get_julian #define g_date_monday_weeks_in_year g_date_get_monday_weeks_in_year #define g_date_monday_week_of_year g_date_get_monday_week_of_year #define g_date_month g_date_get_month #define g_date_sunday_weeks_in_year g_date_get_sunday_weeks_in_year #define g_date_sunday_week_of_year g_date_get_sunday_week_of_year #define g_date_weekday g_date_get_weekday #define g_date_year g_date_get_year #define G_FILE_ERROR g_file_error_quark () #define G_MAXINT64 G_GINT64_CONSTANT(0x7fffffffffffffff) #define G_MININT64 G_GINT64_CONSTANT(0x8000000000000000) #define G_MAXUINT64 G_GINT64_CONSTANT(0xffffffffffffffffU) #define G_IO_CHANNEL_ERROR g_io_channel_error_quark() #define G_KEY_FILE_ERROR g_key_file_error_quark() #define g_debug(...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, __VA_ARGS__) #define g_error(...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, __VA_ARGS__) #define G_MARKUP_ERROR g_markup_error_quark () #define G_SHELL_ERROR g_shell_error_quark () #define G_SPAWN_ERROR g_spawn_error_quark () #define G_LOCK(name) g_static_mutex_lock (&G_LOCK_NAME (name)) #define G_TRYLOCK(name) g_static_mutex_trylock (&G_LOCK_NAME (name)) #define G_UNLOCK(name) g_static_mutex_unlock (&G_LOCK_NAME (name)) #define g_strstrip(string) g_strchomp (g_strchug (string)) #define G_STRINGIFY(macro_or_string) G_STRINGIFY_ARG (macro_or_string) #define g_cond_free(cond) G_THREAD_CF (cond_free, (void)0, (cond)) #define g_cond_signal(cond) G_THREAD_CF (cond_signal, (void)0, (cond)) #define g_mutex_free(mutex) G_THREAD_CF (mutex_free, (void)0, (mutex)) #define g_mutex_lock(mutex) G_THREAD_CF (mutex_lock, (void)0, (mutex)) #define g_mutex_trylock(mutex) G_THREAD_CF (mutex_trylock, TRUE, (mutex)) #define g_mutex_unlock(mutex) G_THREAD_CF (mutex_unlock, (void)0, (mutex)) #define g_thread_yield() G_THREAD_CF (thread_yield, (void)0, ()) #define G_THREAD_ERROR g_thread_error_quark () #define g_cond_new() G_THREAD_UF (cond_new, ()) #define g_mutex_new() G_THREAD_UF (mutex_new, ()) #define g_private_new(destructor) G_THREAD_UF (private_new, (destructor)) #define G_LOCK_NAME(name) g__ ## name ## _lock #define G_GINT16_MODIFIER "h" #define G_GINT16_FORMAT "hi" #define G_GUINT16_FORMAT "hu" #define G_GINT32_FORMAT "i" #define G_MAXINT INT_MAX #define G_MININT INT_MIN #define G_MAXLONG LONG_MAX #define G_MINLONG LONG_MIN #define G_MAXSHORT SHRT_MAX #define G_MINSHORT SHRT_MIN #define G_MODULE_SUFFIX "so" #define G_LOCK_DEFINE_STATIC(name) static G_LOCK_DEFINE (name) #define G_GUINT32_FORMAT "u" #define G_MAXUINT UINT_MAX #define G_MAXULONG ULONG_MAX #define G_MAXUSHORT USHRT_MAX #define G_VA_COPY va_copy #define G_STR_DELIMITERS "_-|> <." #define G_GNUC_INTERNAL __attribute__((visibility("hidden"))) #define G_GNUC_CONST __attribute__((__const__)) #define G_GNUC_DEPRECATED __attribute__((__deprecated__)) #define G_GNUC_FORMAT(arg_idx) __attribute__((__format_arg__ (arg_idx))) #define G_GNUC_MALLOC __attribute__((__malloc__)) #define G_GNUC_NORETURN __attribute__((__noreturn__)) #define G_GNUC_NO_INSTRUMENT __attribute__((__no_instrument_function__)) #define G_GNUC_PURE __attribute__((__pure__)) #define G_GNUC_UNUSED __attribute__((__unused__)) #define alloca(size) __builtin_alloca (size) #define G_GNUC_EXTENSION __extension__ #define G_STRLOC __FILE__ ":" G_STRINGIFY (__LINE__) #define G_STATIC_PRIVATE_INIT { 0 } #define G_ONCE_INIT { G_ONCE_STATUS_NOTCALLED, NULL } #define G_STATIC_REC_MUTEX_INIT { G_STATIC_MUTEX_INIT } typedef short unsigned int guint16; typedef int gint; typedef gint gboolean; typedef unsigned int guint; typedef void *gpointer; typedef gpointer(*GThreadFunc) (gpointer); typedef enum { G_THREAD_PRIORITY_LOW = 0, G_THREAD_PRIORITY_NORMAL = 1, G_THREAD_PRIORITY_HIGH = 2, G_THREAD_PRIORITY_URGENT = 3 } GThreadPriority; typedef struct _GThread { GThreadFunc func; gpointer data; gboolean joinable; GThreadPriority priority; } GThread; typedef unsigned int guint32; typedef guint32 GQuark; typedef char gchar; typedef struct _GError { GQuark domain; gint code; gchar *message; } GError; typedef void (*GPrintFunc) (const gchar *); typedef struct _GMemChunk GMemChunk; typedef long unsigned int gulong; typedef struct _GList { gpointer data; GList *next; GList *prev; } GList; typedef struct _GMainLoop GMainLoop; typedef struct _GHook { gpointer data; GHook *next; GHook *prev; guint ref_count; gulong hook_id; guint flags; gpointer func; GDestroyNotify destroy; } GHook; typedef void (*GDestroyNotify) (gpointer); typedef struct _GHookList { gulong seq_id; guint hook_size:16; guint is_setup:1; GHook *hooks; GMemChunk *hook_memchunk; GHookFinalizeFunc finalize_hook; gpointer dummy[2]; } GHookList; typedef void (*GHookFinalizeFunc) (GHookList *, GHook *); typedef struct _GQueue { GList *head; GList *tail; guint length; } GQueue; typedef struct _GSList { gpointer data; GSList *next; } GSList; typedef struct _GString { gchar *str; gsize len; gsize allocated_len; } GString; typedef struct _GPtrArray { gpointer *pdata; guint len; } GPtrArray; typedef struct _GRand GRand; typedef struct _GDir GDir; typedef struct _GRelation GRelation; typedef struct _GOptionContext GOptionContext; typedef struct _GKeyFile GKeyFile; typedef struct _GPatternSpec GPatternSpec; typedef guint32 gunichar; typedef gchar *(*GCompletionFunc) (gpointer); typedef gint(*GCompletionStrncmpFunc) (const gchar *, const gchar *, gsize); typedef struct _GCompletion { GList *items; GCompletionFunc func; gchar *prefix; GList *cache; GCompletionStrncmpFunc strncmp_func; } GCompletion; typedef struct _GTimer GTimer; typedef struct _GHashTable GHashTable; typedef const void *gconstpointer; typedef guint(*GHashFunc) (gconstpointer); typedef gboolean(*GEqualFunc) (gconstpointer, gconstpointer); typedef struct _GStaticMutex { struct _GMutex *runtime_mutex; union { char pad[GLIB_LSB_PADDING_SIZE]; double dummy_double; void *dummy_pointer; long int dummy_long; } static_mutex; } GStaticMutex; typedef union _GSystemThread { char data[GLIB_LSB_DATA_SIZE]; double dummy_double; void *dummy_pointer; long int dummy_long; } GSystemThread; typedef struct _GStaticRecMutex { GStaticMutex mutex; guint depth; GSystemThread owner; } GStaticRecMutex; typedef struct _GMarkupParseContext GMarkupParseContext; typedef struct _GData GData; typedef enum { G_IO_STATUS_ERROR = 0, G_IO_STATUS_NORMAL = 1, G_IO_STATUS_EOF = 2, G_IO_STATUS_AGAIN = 3 } GIOStatus; typedef struct _GIOChannel { guint ref_count; GIOFuncs *funcs; gchar *encoding; GIConv read_cd; GIConv write_cd; gchar *line_term; guint line_term_len; gsize buf_size; GString *read_buf; GString *encoded_read_buf; GString *write_buf; gchar partial_write_buf[6]; guint use_buffer:1; guint do_encode:1; guint close_on_unref:1; guint is_readable:1; guint is_writeable:1; guint is_seekable:1; gpointer reserved1; gpointer reserved2; } GIOChannel; typedef enum { G_SEEK_CUR = 0, G_SEEK_SET = 1, G_SEEK_END = 2 } GSeekType; typedef struct _GSource { gpointer callback_data; GSourceCallbackFuncs *callback_funcs; GSourceFuncs *source_funcs; guint ref_count; GMainContext *context; gint priority; guint flags; guint source_id; GSList *poll_fds; GSource *prev; GSource *next; gpointer reserved1; gpointer reserved2; } GSource; typedef gboolean(*GSourceFunc) (gpointer); typedef struct _GSourceCallbackFuncs { void (*ref) (gpointer); void (*unref) (gpointer); void (*get) (gpointer, GSource *, GSourceFunc *, gpointer *); } GSourceCallbackFuncs; typedef void (*GSourceDummyMarshal) (void); typedef struct _GSourceFuncs { gboolean(*prepare) (GSource *, gint *); gboolean(*check) (GSource *); gboolean(*dispatch) (GSource *, GSourceFunc, gpointer); void (*finalize) (GSource *); GSourceFunc closure_callback; GSourceDummyMarshal closure_marshal; } GSourceFuncs; typedef struct _GMainContext GMainContext; typedef enum { G_IO_IN = 1, G_IO_OUT = 4, G_IO_PRI = 2, G_IO_ERR = 8, G_IO_HUP = 16, G_IO_NVAL = 32 } GIOCondition; typedef enum { G_IO_FLAG_APPEND = 1, G_IO_FLAG_NONBLOCK = 2, G_IO_FLAG_IS_READABLE = 4, G_IO_FLAG_IS_WRITEABLE = 8, G_IO_FLAG_IS_SEEKABLE = 16, G_IO_FLAG_MASK = 31, G_IO_FLAG_GET_MASK = 31, G_IO_FLAG_SET_MASK = 3 } GIOFlags; typedef struct _GIOFuncs { GIOStatus(*io_read) (GIOChannel *, gchar *, gsize, gsize *, GError * *); GIOStatus(*io_write) (GIOChannel *, const gchar *, gsize, gsize *, GError * *); GIOStatus(*io_seek) (GIOChannel *, gint64, GSeekType, GError * *); GIOStatus(*io_close) (GIOChannel *, GError * *); GSource *(*io_create_watch) (GIOChannel *, GIOCondition); void (*io_free) (GIOChannel *); GIOStatus(*io_set_flags) (GIOChannel *, GIOFlags, GError * *); GIOFlags(*io_get_flags) (GIOChannel *); } GIOFuncs; typedef struct _GIConv *GIConv; typedef struct _GOptionGroup GOptionGroup; typedef enum { G_SPAWN_LEAVE_DESCRIPTORS_OPEN = 1, G_SPAWN_DO_NOT_REAP_CHILD = 2, G_SPAWN_SEARCH_PATH = 4, G_SPAWN_STDOUT_TO_DEV_NULL = 8, G_SPAWN_STDERR_TO_DEV_NULL = 16, G_SPAWN_CHILD_INHERITS_STDIN = 32, G_SPAWN_FILE_AND_ARGV_ZERO = 64 } GSpawnFlags; typedef void (*GSpawnChildSetupFunc) (gpointer); typedef int GPid; typedef void (*GFunc) (gpointer, gpointer); typedef struct _GThreadPool { GFunc func; gpointer user_data; gboolean exclusive; } GThreadPool; typedef struct _GDate { guint julian_days:32; guint julian:1; guint dmy:1; guint day:6; guint month:4; guint year:16; } GDate; typedef enum { G_DATE_BAD_MONTH = 0, G_DATE_JANUARY = 1, G_DATE_FEBRUARY = 2, G_DATE_MARCH = 3, G_DATE_APRIL = 4, G_DATE_MAY = 5, G_DATE_JUNE = 6, G_DATE_JULY = 7, G_DATE_AUGUST = 8, G_DATE_SEPTEMBER = 9, G_DATE_OCTOBER = 10, G_DATE_NOVEMBER = 11, G_DATE_DECEMBER = 12 } GDateMonth; typedef struct _GAsyncQueue GAsyncQueue; typedef short unsigned int gushort; typedef struct _GPollFD { gint fd; gushort events; gushort revents; } GPollFD; typedef double gdouble; typedef struct _GTree GTree; typedef gint(*GCompareDataFunc) (gconstpointer, gconstpointer, gpointer); typedef unsigned char guint8; typedef guint16 GDateYear; typedef struct _GCache GCache; typedef void (*GHFunc) (gpointer, gpointer, gpointer); typedef struct _GScannerConfig { gchar *cset_skip_characters; gchar *cset_identifier_first; gchar *cset_identifier_nth; gchar *cpair_comment_single; guint case_sensitive:1; guint skip_comment_multi:1; guint skip_comment_single:1; guint scan_comment_multi:1; guint scan_identifier:1; guint scan_identifier_1char:1; guint scan_identifier_NULL:1; guint scan_symbols:1; guint scan_binary:1; guint scan_octal:1; guint scan_float:1; guint scan_hex:1; guint scan_hex_dollar:1; guint scan_string_sq:1; guint scan_string_dq:1; guint numbers_2_int:1; guint int_2_float:1; guint identifier_2_string:1; guint char_2_token:1; guint symbol_2_token:1; guint scope_0_fallback:1; guint store_int64:1; guint padding_dummy; } GScannerConfig; typedef enum { G_TOKEN_EOF = 0, G_TOKEN_LEFT_PAREN = 40, G_TOKEN_RIGHT_PAREN = 41, G_TOKEN_LEFT_CURLY = 123, G_TOKEN_RIGHT_CURLY = 125, G_TOKEN_LEFT_BRACE = 91, G_TOKEN_RIGHT_BRACE = 93, G_TOKEN_EQUAL_SIGN = 61, G_TOKEN_COMMA = 44, G_TOKEN_NONE = 256, G_TOKEN_ERROR = 257, G_TOKEN_CHAR = 258, G_TOKEN_BINARY = 259, G_TOKEN_OCTAL = 260, G_TOKEN_INT = 261, G_TOKEN_HEX = 262, G_TOKEN_FLOAT = 263, G_TOKEN_STRING = 264, G_TOKEN_SYMBOL = 265, G_TOKEN_IDENTIFIER = 266, G_TOKEN_IDENTIFIER_NULL = 267, G_TOKEN_COMMENT_SINGLE = 268, G_TOKEN_COMMENT_MULTI = 269, G_TOKEN_LAST = 270 } GTokenType; typedef unsigned char guchar; typedef union _GTokenValue { gpointer v_symbol; gchar *v_identifier; gulong v_binary; gulong v_octal; gulong v_int; guint64 v_int64; gdouble v_float; gulong v_hex; gchar *v_string; gchar *v_comment; guchar v_char; guint v_error; } GTokenValue; typedef struct _GScanner { gpointer user_data; guint max_parse_errors; guint parse_errors; const gchar *input_name; GData *qdata; GScannerConfig *config; GTokenType token; GTokenValue value; guint line; guint position; GTokenType next_token; GTokenValue next_value; guint next_line; guint next_position; GHashTable *symbol_table; gint input_fd; const gchar *text; const gchar *text_end; gchar *buffer; guint scope_id; GScannerMsgFunc msg_handler; } GScanner; typedef void (*GScannerMsgFunc) (GScanner *, gchar *, gboolean); typedef struct _GByteArray { guint8 *data; guint len; } GByteArray; typedef enum { G_KEY_FILE_NONE = 0, G_KEY_FILE_KEEP_COMMENTS = 1, G_KEY_FILE_KEEP_TRANSLATIONS = 2 } GKeyFileFlags; typedef struct _GTrashStack { GTrashStack *next; } GTrashStack; typedef guint16 gunichar2; typedef long int glong; typedef struct _GArray { gchar *data; guint len; } GArray; typedef struct _GNode { gpointer data; GNode *next; GNode *prev; GNode *parent; GNode *children; } GNode; typedef gboolean(*GHRFunc) (gpointer, gpointer, gpointer); typedef gint(*GCompareFunc) (gconstpointer, gconstpointer); typedef int gint32; typedef gint32 GTime; typedef gint(*GPollFunc) (GPollFD *, guint, gint); typedef guint8 GDateDay; typedef enum { G_UNICODE_BREAK_MANDATORY = 0, G_UNICODE_BREAK_CARRIAGE_RETURN = 1, G_UNICODE_BREAK_LINE_FEED = 2, G_UNICODE_BREAK_COMBINING_MARK = 3, G_UNICODE_BREAK_SURROGATE = 4, G_UNICODE_BREAK_ZERO_WIDTH_SPACE = 5, G_UNICODE_BREAK_INSEPARABLE = 6, G_UNICODE_BREAK_NON_BREAKING_GLUE = 7, G_UNICODE_BREAK_CONTINGENT = 8, G_UNICODE_BREAK_SPACE = 9, G_UNICODE_BREAK_AFTER = 10, G_UNICODE_BREAK_BEFORE = 11, G_UNICODE_BREAK_BEFORE_AND_AFTER = 12, G_UNICODE_BREAK_HYPHEN = 13, G_UNICODE_BREAK_NON_STARTER = 14, G_UNICODE_BREAK_OPEN_PUNCTUATION = 15, G_UNICODE_BREAK_CLOSE_PUNCTUATION = 16, G_UNICODE_BREAK_QUOTATION = 17, G_UNICODE_BREAK_EXCLAMATION = 18, G_UNICODE_BREAK_IDEOGRAPHIC = 19, G_UNICODE_BREAK_NUMERIC = 20, G_UNICODE_BREAK_INFIX_SEPARATOR = 21, G_UNICODE_BREAK_SYMBOL = 22, G_UNICODE_BREAK_ALPHABETIC = 23, G_UNICODE_BREAK_PREFIX = 24, G_UNICODE_BREAK_POSTFIX = 25, G_UNICODE_BREAK_COMPLEX_CONTEXT = 26, G_UNICODE_BREAK_AMBIGUOUS = 27, G_UNICODE_BREAK_UNKNOWN = 28, G_UNICODE_BREAK_NEXT_LINE = 29, G_UNICODE_BREAK_WORD_JOINER = 30 } GUnicodeBreakType; typedef struct _GStringChunk GStringChunk; typedef struct _GCond GCond; typedef struct _GStaticRWLock { GStaticMutex mutex; GCond *read_cond; GCond *write_cond; guint read_counter; gboolean have_writer; guint want_to_read; guint want_to_write; } GStaticRWLock; typedef void (*GChildWatchFunc) (GPid, gint, gpointer); typedef struct _GTimeVal { glong tv_sec; glong tv_usec; } GTimeVal; typedef enum { G_LOG_FLAG_RECURSION = 1, G_LOG_FLAG_FATAL = 2, G_LOG_LEVEL_ERROR = 4, G_LOG_LEVEL_CRITICAL = 8, G_LOG_LEVEL_WARNING = 16, G_LOG_LEVEL_MESSAGE = 32, G_LOG_LEVEL_INFO = 64, G_LOG_LEVEL_DEBUG = 128, G_LOG_LEVEL_MASK = -4 } GLogLevelFlags; typedef enum { G_DATE_BAD_WEEKDAY = 0, G_DATE_MONDAY = 1, G_DATE_TUESDAY = 2, G_DATE_WEDNESDAY = 3, G_DATE_THURSDAY = 4, G_DATE_FRIDAY = 5, G_DATE_SATURDAY = 6, G_DATE_SUNDAY = 7 } GDateWeekday; typedef enum { G_IN_ORDER = 0, G_PRE_ORDER = 1, G_POST_ORDER = 2, G_LEVEL_ORDER = 3 } GTraverseType; typedef enum { G_TRAVERSE_LEAVES = 1, G_TRAVERSE_NON_LEAVES = 2, G_TRAVERSE_ALL = 3, G_TRAVERSE_MASK = 3, G_TRAVERSE_LEAFS = 1, G_TRAVERSE_NON_LEAFS = 2 } GTraverseFlags; typedef struct _GMarkupParser { void (*start_element) (GMarkupParseContext *, const gchar *, const gchar * *, const gchar * *, gpointer, GError * *); void (*end_element) (GMarkupParseContext *, const gchar *, gpointer, GError * *); void (*text) (GMarkupParseContext *, const gchar *, gsize, gpointer, GError * *); void (*passthrough) (GMarkupParseContext *, const gchar *, gsize, gpointer, GError * *); void (*error) (GMarkupParseContext *, GError *, gpointer); } GMarkupParser; typedef enum { G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG = 1 } GMarkupParseFlags; typedef gboolean(*GHookCheckMarshaller) (GHook *, gpointer); typedef gboolean(*GNodeTraverseFunc) (GNode *, gpointer); typedef enum { G_NORMALIZE_DEFAULT = 0, G_NORMALIZE_NFD = 0, G_NORMALIZE_DEFAULT_COMPOSE = 1, G_NORMALIZE_NFC = 1, G_NORMALIZE_ALL = 2, G_NORMALIZE_NFKD = 2, G_NORMALIZE_ALL_COMPOSE = 3, G_NORMALIZE_NFKC = 3 } GNormalizeMode; typedef struct _GMutex GMutex; typedef struct _GStaticPrivate { guint index; } GStaticPrivate; typedef enum { G_FILE_ERROR_EXIST = 0, G_FILE_ERROR_ISDIR = 1, G_FILE_ERROR_ACCES = 2, G_FILE_ERROR_NAMETOOLONG = 3, G_FILE_ERROR_NOENT = 4, G_FILE_ERROR_NOTDIR = 5, G_FILE_ERROR_NXIO = 6, G_FILE_ERROR_NODEV = 7, G_FILE_ERROR_ROFS = 8, G_FILE_ERROR_TXTBSY = 9, G_FILE_ERROR_FAULT = 10, G_FILE_ERROR_LOOP = 11, G_FILE_ERROR_NOSPC = 12, G_FILE_ERROR_NOMEM = 13, G_FILE_ERROR_MFILE = 14, G_FILE_ERROR_NFILE = 15, G_FILE_ERROR_BADF = 16, G_FILE_ERROR_INVAL = 17, G_FILE_ERROR_PIPE = 18, G_FILE_ERROR_AGAIN = 19, G_FILE_ERROR_INTR = 20, G_FILE_ERROR_IO = 21, G_FILE_ERROR_PERM = 22, G_FILE_ERROR_NOSYS = 23, G_FILE_ERROR_FAILED = 24 } GFileError; typedef void (*GDataForeachFunc) (GQuark, gpointer, gpointer); typedef struct _GMemVTable { gpointer(*malloc) (gsize); gpointer(*realloc) (gpointer, gsize); void (*free) (gpointer); gpointer(*calloc) (gsize, gsize); gpointer(*try_malloc) (gsize); gpointer(*try_realloc) (gpointer, gsize); } GMemVTable; typedef enum { G_OPTION_ARG_NONE = 0, G_OPTION_ARG_STRING = 1, G_OPTION_ARG_INT = 2, G_OPTION_ARG_CALLBACK = 3, G_OPTION_ARG_FILENAME = 4, G_OPTION_ARG_STRING_ARRAY = 5, G_OPTION_ARG_FILENAME_ARRAY = 6 } GOptionArg; typedef struct _GOptionEntry { const gchar *long_name; gchar short_name; gint flags; GOptionArg arg; gpointer arg_data; const gchar *description; const gchar *arg_description; } GOptionEntry; typedef enum { G_UNICODE_CONTROL = 0, G_UNICODE_FORMAT = 1, G_UNICODE_UNASSIGNED = 2, G_UNICODE_PRIVATE_USE = 3, G_UNICODE_SURROGATE = 4, G_UNICODE_LOWERCASE_LETTER = 5, G_UNICODE_MODIFIER_LETTER = 6, G_UNICODE_OTHER_LETTER = 7, G_UNICODE_TITLECASE_LETTER = 8, G_UNICODE_UPPERCASE_LETTER = 9, G_UNICODE_COMBINING_MARK = 10, G_UNICODE_ENCLOSING_MARK = 11, G_UNICODE_NON_SPACING_MARK = 12, G_UNICODE_DECIMAL_NUMBER = 13, G_UNICODE_LETTER_NUMBER = 14, G_UNICODE_OTHER_NUMBER = 15, G_UNICODE_CONNECT_PUNCTUATION = 16, G_UNICODE_DASH_PUNCTUATION = 17, G_UNICODE_CLOSE_PUNCTUATION = 18, G_UNICODE_FINAL_PUNCTUATION = 19, G_UNICODE_INITIAL_PUNCTUATION = 20, G_UNICODE_OTHER_PUNCTUATION = 21, G_UNICODE_OPEN_PUNCTUATION = 22, G_UNICODE_CURRENCY_SYMBOL = 23, G_UNICODE_MODIFIER_SYMBOL = 24, G_UNICODE_MATH_SYMBOL = 25, G_UNICODE_OTHER_SYMBOL = 26, G_UNICODE_LINE_SEPARATOR = 27, G_UNICODE_PARAGRAPH_SEPARATOR = 28, G_UNICODE_SPACE_SEPARATOR = 29 } GUnicodeType; typedef void (*GLogFunc) (const gchar *, GLogLevelFlags, const gchar *, gpointer); typedef struct _GAllocator GAllocator; typedef const gchar *(*GTranslateFunc) (const gchar *, gpointer); typedef gboolean(*GOptionParseFunc) (GOptionContext *, GOptionGroup *, gpointer, GError * *); typedef void (*GVoidFunc) (void); typedef gboolean(*GHookFindFunc) (GHook *, gpointer); typedef struct _GTuples { guint len; } GTuples; typedef gpointer(*GCopyFunc) (gconstpointer, gpointer); typedef void (*GOptionErrorFunc) (GOptionContext *, GOptionGroup *, gpointer, GError * *); typedef gpointer(*GCacheNewFunc) (gpointer); typedef void (*GCacheDestroyFunc) (gpointer); typedef gpointer(*GCacheDupFunc) (gpointer); typedef enum { G_FILE_TEST_IS_REGULAR = 1, G_FILE_TEST_IS_SYMLINK = 2, G_FILE_TEST_IS_DIR = 4, G_FILE_TEST_IS_EXECUTABLE = 8, G_FILE_TEST_EXISTS = 16 } GFileTest; typedef enum { G_ONCE_STATUS_NOTCALLED = 0, G_ONCE_STATUS_PROGRESS = 1, G_ONCE_STATUS_READY = 2 } GOnceStatus; typedef struct _GOnce { volatile GOnceStatus status; volatile gpointer retval; } GOnce; typedef gboolean(*GTraverseFunc) (gpointer, gpointer, gpointer); typedef gint(*GHookCompareFunc) (GHook *, GHook *); typedef void (*GNodeForeachFunc) (GNode *, gpointer); typedef struct _GDebugKey { gchar *key; guint value; } GDebugKey; typedef struct _GPrivate GPrivate; typedef struct _GThreadFunctions { GMutex *(*mutex_new) (void); void (*mutex_lock) (GMutex *); gboolean(*mutex_trylock) (GMutex *); void (*mutex_unlock) (GMutex *); void (*mutex_free) (GMutex *); GCond *(*cond_new) (void); void (*cond_signal) (GCond *); void (*cond_broadcast) (GCond *); void (*cond_wait) (GCond *, GMutex *); gboolean(*cond_timed_wait) (GCond *, GMutex *, GTimeVal *); void (*cond_free) (GCond *); GPrivate *(*private_new) (GDestroyNotify); gpointer(*private_get) (GPrivate *); void (*private_set) (GPrivate *, gpointer); void (*thread_create) (GThreadFunc, gpointer, gulong, gboolean, gboolean, GThreadPriority, gpointer, GError * *); void (*thread_yield) (void); void (*thread_join) (gpointer); void (*thread_exit) (void); void (*thread_set_priority) (gpointer, GThreadPriority); void (*thread_self) (gpointer); gboolean(*thread_equal) (gpointer, gpointer); } GThreadFunctions; typedef void (*GHookMarshaller) (GHook *, gpointer); typedef enum { G_IO_CHANNEL_ERROR_FBIG = 0, G_IO_CHANNEL_ERROR_INVAL = 1, G_IO_CHANNEL_ERROR_IO = 2, G_IO_CHANNEL_ERROR_ISDIR = 3, G_IO_CHANNEL_ERROR_NOSPC = 4, G_IO_CHANNEL_ERROR_NXIO = 5, G_IO_CHANNEL_ERROR_OVERFLOW = 6, G_IO_CHANNEL_ERROR_PIPE = 7, G_IO_CHANNEL_ERROR_FAILED = 8 } GIOChannelError; typedef gboolean(*GIOFunc) (GIOChannel *, GIOCondition, gpointer); typedef void (*GFreeFunc) (gpointer); typedef gboolean(*GHookCheckFunc) (gpointer); typedef void (*GHookFunc) (gpointer); typedef short int gint16; typedef enum { G_DATE_DAY = 0, G_DATE_MONTH = 1, G_DATE_YEAR = 2 } GDateDMY; typedef signed char gint8; typedef enum { G_MARKUP_ERROR_BAD_UTF8 = 0, G_MARKUP_ERROR_EMPTY = 1, G_MARKUP_ERROR_PARSE = 2, G_MARKUP_ERROR_UNKNOWN_ELEMENT = 3, G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE = 4, G_MARKUP_ERROR_INVALID_CONTENT = 5 } GMarkupError; typedef enum { G_IO_ERROR_NONE = 0, G_IO_ERROR_AGAIN = 1, G_IO_ERROR_INVAL = 2, G_IO_ERROR_UNKNOWN = 3 } GIOError; typedef gboolean(*GOptionArgFunc) (const gchar *, const gchar *, gpointer, GError * *); typedef enum { G_OPTION_FLAG_HIDDEN = 1 << 0, G_OPTION_FLAG_IN_MAIN = 1 << 1, G_OPTION_FLAG_REVERSE = 1 << 2 } GOptionFlags; typedef enum { G_CONVERT_ERROR_NO_CONVERSION, G_CONVERT_ERROR_ILLEGAL_SEQUENCE, G_CONVERT_ERROR_FAILED, G_CONVERT_ERROR_PARTIAL_INPUT, G_CONVERT_ERROR_BAD_URI, G_CONVERT_ERROR_NOT_ABSOLUTE_PATH } GConvertError; typedef enum { G_ERR_UNKNOWN, G_ERR_UNEXP_EOF, G_ERR_UNEXP_EOF_IN_STRING, G_ERR_UNEXP_EOF_IN_COMMENT, G_ERR_NON_DIGIT_IN_CONST, G_ERR_DIGIT_RADIX, G_ERR_FLOAT_RADIX, G_ERR_FLOAT_MALFORMED } GErrorType; typedef enum { G_KEY_FILE_ERROR_UNKNOWN_ENCODING, G_KEY_FILE_ERROR_PARSE, G_KEY_FILE_ERROR_NOT_FOUND, G_KEY_FILE_ERROR_KEY_NOT_FOUND, G_KEY_FILE_ERROR_GROUP_NOT_FOUND, G_KEY_FILE_ERROR_INVALID_VALUE } GKeyFileError; typedef enum { G_SPAWN_ERROR_FORK, G_SPAWN_ERROR_READ, G_SPAWN_ERROR_CHDIR, G_SPAWN_ERROR_ACCES, G_SPAWN_ERROR_PERM, G_SPAWN_ERROR_2BIG, G_SPAWN_ERROR_NOEXEC, G_SPAWN_ERROR_NAMETOOLONG, G_SPAWN_ERROR_NOENT, G_SPAWN_ERROR_NOMEM, G_SPAWN_ERROR_NOTDIR, G_SPAWN_ERROR_LOOP, G_SPAWN_ERROR_TXTBUSY, G_SPAWN_ERROR_IO, G_SPAWN_ERROR_NFILE, G_SPAWN_ERROR_MFILE, G_SPAWN_ERROR_INVAL, G_SPAWN_ERROR_ISDIR, G_SPAWN_ERROR_LIBBAD, G_SPAWN_ERROR_FAILED } GSpawnError; typedef enum { G_HOOK_FLAG_ACTIVE = 1 << 0, G_HOOK_FLAG_IN_CALL = 1 << 1, G_HOOK_FLAG_MASK = 0x0f } GHookFlagMask; typedef enum { G_THREAD_ERROR_AGAIN } GThreadError; typedef enum { G_OPTION_ERROR_UNKNOWN_OPTION, G_OPTION_ERROR_BAD_VALUE, G_OPTION_ERROR_FAILED } GOptionError; typedef enum { G_ASCII_ALNUM = 1 << 0, G_ASCII_ALPHA = 1 << 1, G_ASCII_CNTRL = 1 << 2, G_ASCII_DIGIT = 1 << 3, G_ASCII_GRAPH = 1 << 4, G_ASCII_LOWER = 1 << 5, G_ASCII_PRINT = 1 << 6, G_ASCII_PUNCT = 1 << 7, G_ASCII_SPACE = 1 << 8, G_ASCII_UPPER = 1 << 9, G_ASCII_XDIGIT = 1 << 10 } GAsciiType; typedef enum { G_SHELL_ERROR_BAD_QUOTING, G_SHELL_ERROR_EMPTY_STRING, G_SHELL_ERROR_FAILED } GShellError; extern const guint16 *const g_ascii_table; extern gboolean g_source_remove(guint); extern void g_thread_set_priority(GThread *, GThreadPriority); extern GError *g_error_copy(const GError *); extern gchar *g_utf8_prev_char(const gchar *); extern void g_node_pop_allocator(void); extern GPrintFunc g_set_printerr_handler(GPrintFunc); extern GMemChunk *g_mem_chunk_new(const gchar *, gint, gulong, gint); extern void g_on_error_stack_trace(const gchar *); extern void g_mem_chunk_print(GMemChunk *); extern guint g_list_length(GList *); extern void g_main_loop_quit(GMainLoop *); extern void g_hook_insert_before(GHookList *, GHook *, GHook *); extern gboolean g_get_filename_charsets(const gchar * **); extern GList *g_queue_pop_nth_link(GQueue *, guint); extern GSList *g_slist_copy(GSList *); extern gint g_mkstemp(gchar *); extern GError *g_error_new(GQuark, gint, const gchar *, ...); extern GString *g_string_set_size(GString *, gsize); extern gchar *g_get_prgname(void); extern gpointer g_ptr_array_remove_index_fast(GPtrArray *, guint); extern GRand *g_rand_new_with_seed_array(const guint32 *, guint); extern void g_dir_close(GDir *); extern const gchar *const *g_get_system_config_dirs(void); extern void g_relation_insert(GRelation *, ...); extern void g_option_context_free(GOptionContext *); extern gchar *g_strcanon(gchar *, const gchar *, gchar); extern guint g_slist_length(GSList *); extern gchar *g_key_file_to_data(GKeyFile *, gsize *, GError * *); extern GPatternSpec *g_pattern_spec_new(const gchar *); extern gchar **g_strdupv(gchar * *); extern gboolean g_unichar_isupper(gunichar); extern void g_completion_free(GCompletion *); extern void g_timer_reset(GTimer *); extern GHashTable *g_hash_table_new_full(GHashFunc, GEqualFunc, GDestroyNotify, GDestroyNotify); extern void g_static_rec_mutex_init(GStaticRecMutex *); extern gint g_atomic_int_exchange_and_add(gint *, gint); extern gchar *g_strjoin(const gchar *, ...); extern GSList *g_slist_last(GSList *); extern void g_key_file_set_string(GKeyFile *, const gchar *, const gchar *, const gchar *); extern GPtrArray *g_ptr_array_new(void); extern gboolean g_markup_parse_context_end_parse(GMarkupParseContext *, GError * *); extern gboolean g_key_file_get_boolean(GKeyFile *, const gchar *, const gchar *, GError * *); extern gchar *g_strrstr_len(const gchar *, gssize, const gchar *); extern gint g_hook_compare_ids(GHook *, GHook *); extern gchar *g_utf8_strup(const gchar *, gssize); extern gchar *g_build_filename(const gchar *, ...); extern void g_datalist_init(GData * *); extern GIOStatus g_io_channel_set_flags(GIOChannel *, GIOFlags, GError * *); extern const gchar *const g_utf8_skip; extern void g_option_group_free(GOptionGroup *); extern void g_completion_clear_items(GCompletion *); extern gboolean g_hash_table_steal(GHashTable *, gconstpointer); extern gboolean g_spawn_async_with_pipes(const gchar *, gchar * *, gchar * *, GSpawnFlags, GSpawnChildSetupFunc, gpointer, GPid *, gint *, gint *, gint *, GError * *); extern void g_clear_error(GError * *); extern gpointer g_queue_pop_head(GQueue *); extern GThreadPool *g_thread_pool_new(GFunc, gpointer, gint, gboolean, GError * *); extern void g_static_rec_mutex_lock(GStaticRecMutex *); extern guint g_thread_pool_get_num_threads(GThreadPool *); extern void g_date_set_month(GDate *, GDateMonth); extern gchar *g_filename_to_uri(const gchar *, const gchar *, GError * *); extern gboolean g_date_valid_julian(guint32); extern GQuark g_option_error_quark(void); extern gchar **g_key_file_get_keys(GKeyFile *, const gchar *, gsize *, GError * *); extern gchar g_ascii_tolower(gchar); extern GMainLoop *g_main_loop_new(GMainContext *, gboolean); extern gint g_relation_count(GRelation *, gconstpointer, gint); extern void g_ptr_array_add(GPtrArray *, gpointer); extern void g_async_queue_unlock(GAsyncQueue *); extern gboolean g_pattern_match_string(GPatternSpec *, const gchar *); extern void g_key_file_free(GKeyFile *); extern GMainContext *g_main_context_default(void); extern GIOStatus g_io_channel_read_line_string(GIOChannel *, GString *, gsize *, GError * *); extern GSource *g_source_ref(GSource *); extern gint g_slist_index(GSList *, gconstpointer); extern GSList *g_slist_find(GSList *, gconstpointer); extern gboolean g_main_context_prepare(GMainContext *, gint *); extern char *g_markup_vprintf_escaped(const char *, va_list); extern void g_ptr_array_set_size(GPtrArray *, gint); extern void g_set_application_name(const gchar *); extern gint g_main_context_query(GMainContext *, gint, gint *, GPollFD *, gint); extern void g_rand_set_seed(GRand *, guint32); extern GList *g_list_last(GList *); extern gchar *g_ascii_dtostr(gchar *, gint, gdouble); extern gboolean g_main_loop_is_running(GMainLoop *); extern void g_pattern_spec_free(GPatternSpec *); extern GTree *g_tree_new_full(GCompareDataFunc, gpointer, GDestroyNotify, GDestroyNotify); extern guint8 g_date_get_monday_weeks_in_year(GDateYear); extern guint g_idle_add(GSourceFunc, gpointer); extern void g_main_context_release(GMainContext *); extern int g_main_depth(void); extern void g_cache_key_foreach(GCache *, GHFunc, gpointer); extern void g_static_rec_mutex_free(GStaticRecMutex *); extern guint g_date_get_monday_week_of_year(const GDate *); extern const gchar *g_io_channel_get_line_term(GIOChannel *, gint *); extern guint g_scanner_set_scope(GScanner *, guint); extern gchar *g_string_free(GString *, gboolean); extern void g_source_set_priority(GSource *, gint); extern void g_async_queue_unref(GAsyncQueue *); extern void g_hook_prepend(GHookList *, GHook *); extern gpointer g_queue_peek_head(GQueue *); extern void g_byte_array_sort_with_data(GByteArray *, GCompareDataFunc, gpointer); extern gboolean g_key_file_load_from_data_dirs(GKeyFile *, const gchar *, gchar * *, GKeyFileFlags, GError * *); extern guint g_trash_stack_height(GTrashStack * *); extern void g_markup_parse_context_free(GMarkupParseContext *); extern GString *g_string_append_len(GString *, const gchar *, gssize); extern const gchar *g_getenv(const gchar *); extern gint *g_key_file_get_integer_list(GKeyFile *, const gchar *, const gchar *, gsize *, GError * *); extern gunichar2 *g_ucs4_to_utf16(const gunichar *, glong, glong *, glong *, GError * *); extern GList *g_list_remove(GList *, gconstpointer); extern gboolean g_hook_destroy(GHookList *, gulong); extern GRand *g_rand_copy(GRand *); extern GString *g_string_ascii_up(GString *); extern const gchar *g_io_channel_get_encoding(GIOChannel *); extern void g_random_set_seed(guint32); extern GOptionGroup *g_option_context_get_main_group(GOptionContext *); extern guint g_idle_add_full(gint, GSourceFunc, gpointer, GDestroyNotify); extern GArray *g_array_append_vals(GArray *, gconstpointer, guint); extern GHook *g_hook_next_valid(GHookList *, GHook *, gboolean); extern gchar *g_path_get_basename(const gchar *); extern gchar *g_key_file_get_value(GKeyFile *, const gchar *, const gchar *, GError * *); extern void g_slist_pop_allocator(void); extern void g_node_unlink(GNode *); extern gpointer g_hash_table_find(GHashTable *, GHRFunc, gpointer); extern GList *g_list_sort(GList *, GCompareFunc); extern void g_date_set_time(GDate *, GTime); extern GPollFunc g_main_context_get_poll_func(GMainContext *); extern gchar *g_strndup(const gchar *, gsize); extern GSList *g_slist_remove(GSList *, gconstpointer); extern void g_date_order(GDate *, GDate *); extern gdouble g_timer_elapsed(GTimer *, gulong *); extern gchar *g_strchug(gchar *); extern GQuark g_io_channel_error_quark(void); extern void g_cache_remove(GCache *, gconstpointer); extern GArray *g_array_remove_index_fast(GArray *, guint); extern GAsyncQueue *g_async_queue_ref(GAsyncQueue *); extern GQuark g_key_file_error_quark(void); extern gboolean g_atomic_pointer_compare_and_exchange(gpointer *, gpointer, gpointer); extern gboolean g_date_valid_dmy(GDateDay, GDateMonth, GDateYear); extern gpointer g_mem_chunk_alloc0(GMemChunk *); extern gint g_async_queue_length_unlocked(GAsyncQueue *); extern GUnicodeBreakType g_unichar_break_type(gunichar); extern gboolean g_date_valid_year(GDateYear); extern void g_thread_pool_set_max_unused_threads(gint); extern GArray *g_array_remove_index(GArray *, guint); extern void g_key_file_remove_group(GKeyFile *, const gchar *, GError **); extern gchar *g_key_file_get_comment(GKeyFile *, const gchar *, const gchar *, GError * *); extern gboolean g_io_channel_get_buffered(GIOChannel *); extern GList *g_list_delete_link(GList *, GList *); extern GList *g_completion_complete(GCompletion *, const gchar *, gchar * *); extern gboolean g_unichar_isdigit(gunichar); extern void g_date_subtract_years(GDate *, guint); extern gchar *g_utf8_strchr(const char *, gssize, gunichar); extern void g_queue_push_head(GQueue *, gpointer); extern guint g_queue_get_length(GQueue *); extern gchar *g_string_chunk_insert_const(GStringChunk *, const gchar *); extern void g_static_rw_lock_init(GStaticRWLock *); extern guint g_bit_storage(gulong); extern GSList *g_slist_sort(GSList *, GCompareFunc); extern gint g_relation_delete(GRelation *, gconstpointer, gint); extern GIOStatus g_io_channel_write_chars(GIOChannel *, const gchar *, gssize, gsize *, GError * *); extern GList *g_list_find(GList *, gconstpointer); extern gpointer g_queue_peek_tail(GQueue *); extern GIOStatus g_io_channel_write_unichar(GIOChannel *, gunichar, GError * *); extern void g_hook_list_clear(GHookList *); extern guint g_child_watch_add(GPid, GChildWatchFunc, gpointer); extern void g_hook_list_init(GHookList *, guint); extern gpointer g_realloc(gpointer, gulong); extern void g_queue_push_nth(GQueue *, gpointer, gint); extern gpointer g_trash_stack_peek(GTrashStack * *); extern const gchar *g_get_application_name(void); extern gint g_main_context_check(GMainContext *, gint, GPollFD *, gint); extern gunichar *g_unicode_canonical_decomposition(gunichar, gsize *); extern gpointer g_async_queue_timed_pop_unlocked(GAsyncQueue *, GTimeVal *); extern gboolean g_option_context_get_help_enabled(GOptionContext *); extern void g_log_default_handler(const gchar *, GLogLevelFlags, const gchar *, gpointer); extern gpointer g_async_queue_try_pop(GAsyncQueue *); extern void g_option_group_set_translation_domain(GOptionGroup *, const gchar *); extern void g_source_destroy(GSource *); extern gchar *g_filename_to_utf8(const gchar *, gssize, gsize *, gsize *, GError * *); extern gboolean g_key_file_load_from_data(GKeyFile *, const gchar *, gsize, GKeyFileFlags, GError * *); extern GKeyFile *g_key_file_new(void); extern GDateYear g_date_get_year(const GDate *); extern const gchar *g_get_user_config_dir(void); extern gint g_slist_position(GSList *, GSList *); extern const guint glib_minor_version; extern GSList *g_slist_delete_link(GSList *, GSList *); extern GDateWeekday g_date_get_weekday(const GDate *); extern gchar *g_convert_with_iconv(const gchar *, gssize, GIConv, gsize*, gsize *, GError * *); extern GNode *g_node_insert(GNode *, gint, GNode *); extern void g_source_set_callback(GSource *, GSourceFunc, gpointer, GDestroyNotify); extern void g_source_add_poll(GSource *, GPollFD *); extern void g_slist_free_1(GSList *); extern GByteArray *g_byte_array_remove_index_fast(GByteArray *, guint); extern GHook *g_hook_find_data(GHookList *, gboolean, gpointer); extern void g_ptr_array_foreach(GPtrArray *, GFunc, gpointer); extern void g_scanner_scope_add_symbol(GScanner *, guint, const gchar *, gpointer); extern GMainContext *g_main_context_ref(GMainContext *); extern void g_hook_list_invoke(GHookList *, gboolean); extern gint g_source_get_priority(GSource *); extern void g_list_free_1(GList *); extern gint g_key_file_get_integer(GKeyFile *, const gchar *, const gchar *, GError * *); extern GSList *g_slist_nth(GSList *, guint); extern gchar *g_shell_unquote(const gchar *, GError * *); extern void g_option_context_add_group(GOptionContext *, GOptionGroup *); extern gboolean g_unichar_isprint(gunichar); extern GList *g_list_copy(GList *); extern void g_cache_value_foreach(GCache *, GHFunc, gpointer); extern void g_key_file_set_comment(GKeyFile *, const gchar *, const gchar *, const gchar *, GError * *); extern gint g_ascii_digit_value(gchar); extern void g_main_context_dispatch(GMainContext *); extern GIOChannel *g_io_channel_new_file(const gchar *, const gchar *, GError * *); extern gint g_unichar_digit_value(gunichar); extern void g_source_set_can_recurse(GSource *, gboolean); extern void g_main_loop_unref(GMainLoop *); extern GNode *g_node_first_sibling(GNode *); extern gint g_date_days_between(const GDate *, const GDate *); extern void g_mem_chunk_free(GMemChunk *, gpointer); extern gchar *g_markup_escape_text(const gchar *, gssize); extern gunichar g_unichar_tolower(gunichar); extern void g_queue_push_nth_link(GQueue *, gint, GList *); extern char *g_markup_printf_escaped(const char *, ...); extern void g_hook_unref(GHookList *, GHook *); extern GNode *g_node_find(GNode *, GTraverseType, GTraverseFlags, gpointer); extern gchar *g_ascii_formatd(gchar *, gint, const gchar *, gdouble); extern gpointer g_scanner_scope_lookup_symbol(GScanner *, guint, const gchar *); extern gpointer g_dataset_id_remove_no_notify(gconstpointer, GQuark); extern GQueue *g_queue_new(void); extern GQuark g_markup_error_quark(void); extern void g_option_context_set_ignore_unknown_options(GOptionContext *, gboolean); extern void g_completion_remove_items(GCompletion *, GList *); extern void g_datalist_id_set_data_full(GData * *, GQuark, gpointer, GDestroyNotify); extern void g_trash_stack_push(GTrashStack * *, gpointer); extern void g_async_queue_lock(GAsyncQueue *); extern void g_ptr_array_sort(GPtrArray *, GCompareFunc); extern void g_queue_free(GQueue *); extern void g_array_sort_with_data(GArray *, GCompareDataFunc, gpointer); extern gboolean g_relation_exists(GRelation *, ...); extern gboolean g_utf8_validate(const char *, gssize, const gchar * *); extern void g_static_rw_lock_writer_unlock(GStaticRWLock *); extern GByteArray *g_byte_array_remove_index(GByteArray *, guint); extern guint g_hash_table_foreach_remove(GHashTable *, GHRFunc, gpointer); extern GString *g_string_insert_unichar(GString *, gssize, gunichar); extern GSList *g_slist_prepend(GSList *, gpointer); extern GList *g_list_first(GList *); extern GMarkupParseContext *g_markup_parse_context_new(const GMarkupParser *, GMarkupParseFlags, gpointer, GDestroyNotify); extern void g_io_channel_init(GIOChannel *); extern GQuark g_convert_error_quark(void); extern GNode *g_node_get_root(GNode *); extern gchar *g_filename_display_name(const gchar *); extern gint g_io_channel_unix_get_fd(GIOChannel *); extern gboolean g_int_equal(gconstpointer, gconstpointer); extern void g_hook_list_marshal_check(GHookList *, gboolean, GHookCheckMarshaller, gpointer); extern void g_static_mutex_init(GStaticMutex *); extern GString *g_string_prepend_unichar(GString *, gunichar); extern GList *g_queue_find_custom(GQueue *, gconstpointer, GCompareFunc); extern void g_key_file_set_string_list(GKeyFile *, const gchar *, const gchar *, const gchar * const *, gsize); extern const guint glib_micro_version; extern guint32 g_date_get_julian(const GDate *); extern gpointer g_dataset_id_get_data(gconstpointer, GQuark); extern gboolean g_date_valid_day(GDateDay); extern GHook *g_hook_first_valid(GHookList *, gboolean); extern GIOStatus g_io_channel_read_to_end(GIOChannel *, gchar * *, gsize *, GError * *); extern void g_scanner_destroy(GScanner *); extern GString *g_string_insert_c(GString *, gssize, gchar); extern void g_queue_push_head_link(GQueue *, GList *); extern GIOChannel *g_io_channel_ref(GIOChannel *); extern gpointer g_try_realloc(gpointer, gulong); extern GRelation *g_relation_new(gint); extern GNode *g_node_nth_child(GNode *, guint); extern GByteArray *g_byte_array_sized_new(guint); extern void g_queue_push_tail(GQueue *, gpointer); extern gboolean g_unichar_validate(gunichar); extern GSource *g_idle_source_new(void); extern gchar **g_key_file_get_groups(GKeyFile *, gsize *); extern void g_scanner_sync_file_offset(GScanner *); extern GLogLevelFlags g_log_set_always_fatal(GLogLevelFlags); extern gpointer *g_ptr_array_free(GPtrArray *, gboolean); extern gint g_utf8_collate(const gchar *, const gchar *); extern GPrintFunc g_set_print_handler(GPrintFunc); extern const guint glib_interface_age; extern void g_hook_list_invoke_check(GHookList *, gboolean); extern gchar *g_utf8_offset_to_pointer(const gchar *, glong); extern void g_scanner_input_file(GScanner *, gint); extern gboolean g_source_get_can_recurse(GSource *); extern GHook *g_hook_find_func_data(GHookList *, gboolean, gpointer, gpointer); extern void g_logv(const gchar *, GLogLevelFlags, const gchar *, va_list); extern gboolean g_error_matches(const GError *, GQuark, gint); extern gpointer g_async_queue_pop(GAsyncQueue *); extern gchar **g_uri_list_extract_uris(const gchar *); extern gboolean g_static_rw_lock_writer_trylock(GStaticRWLock *); extern void g_date_add_months(GDate *, guint); extern void g_date_add_days(GDate *, guint); extern gchar **g_strsplit(const gchar *, const gchar *, gint); extern GSList *g_slist_remove_all(GSList *, gconstpointer); extern gdouble g_random_double(void); extern gdouble g_strtod(const gchar *, gchar * *); extern void g_queue_sort(GQueue *, GCompareDataFunc, gpointer); extern gboolean g_str_has_suffix(const gchar *, const gchar *); extern GList *g_queue_pop_head_link(GQueue *); extern gint32 g_rand_int_range(GRand *, gint32, gint32); extern gint g_unichar_to_utf8(gunichar, gchar *); extern gchar *g_strnfill(gsize, gchar); extern void g_relation_print(GRelation *); extern void g_key_file_set_integer_list(GKeyFile *, const gchar *, const gchar *, gint *, gsize); extern GSource *g_main_context_find_source_by_funcs_user_data(GMainContext *, GSourceFuncs *, gpointer); extern GDate *g_date_new_julian(guint32); extern void g_node_traverse(GNode *, GTraverseType, GTraverseFlags, gint, GNodeTraverseFunc, gpointer); extern gchar *g_key_file_get_start_group(GKeyFile *); extern void g_key_file_set_locale_string(GKeyFile *, const gchar *, const gchar *, const gchar *, const gchar *); extern GHashTable *g_hash_table_new(GHashFunc, GEqualFunc); extern const gchar *g_dir_read_name(GDir *); extern gboolean g_hash_table_remove(GHashTable *, gconstpointer); extern gchar *g_utf8_strdown(const gchar *, gssize); extern GIOCondition g_io_channel_get_buffer_condition(GIOChannel *); extern GSource *g_child_watch_source_new(GPid); extern void g_static_rec_mutex_unlock(GStaticRecMutex *); extern glong g_utf8_strlen(const gchar *, gssize); extern GSList *g_slist_insert(GSList *, gpointer, gint); extern GNode *g_node_prepend(GNode *, GNode *); extern void g_propagate_error(GError * *, GError *); extern GTokenType g_scanner_peek_next_token(GScanner *); extern GArray *g_array_set_size(GArray *, guint); extern GString *g_string_erase(GString *, gssize, gssize); extern gchar *g_strcompress(const gchar *); extern gint g_async_queue_length(GAsyncQueue *); extern gboolean g_unichar_isdefined(gunichar); extern GString *g_string_prepend(GString *, const gchar *); extern guint32 g_rand_int(GRand *); extern void g_set_error(GError * *, GQuark, gint, const gchar *, ...); extern gboolean g_markup_parse_context_parse(GMarkupParseContext *, const gchar *, gssize, GError * *); extern gboolean g_main_context_pending(GMainContext *); extern gint g_tree_nnodes(GTree *); extern gpointer g_datalist_id_get_data(GData * *, GQuark); extern void g_ptr_array_sort_with_data(GPtrArray *, GCompareDataFunc, gpointer); extern void g_queue_unlink(GQueue *, GList *); extern guint g_source_get_id(GSource *); extern void g_thread_pool_set_max_threads(GThreadPool *, gint, GError **); extern gchar *g_utf8_normalize(const gchar *, gssize, GNormalizeMode); extern GTree *g_tree_new_with_data(GCompareDataFunc, gpointer); extern gchar *g_path_get_dirname(const gchar *); extern gint g_thread_pool_get_max_threads(GThreadPool *); extern GArray *g_array_sized_new(gboolean, gboolean, guint, guint); extern gboolean g_unichar_islower(gunichar); extern GString *g_string_assign(GString *, const gchar *); extern gchar *g_strstr_len(const gchar *, gssize, const gchar *); extern GArray *g_array_prepend_vals(GArray *, gconstpointer, guint); extern gdouble g_rand_double_range(GRand *, gdouble, gdouble); extern void g_key_file_set_list_separator(GKeyFile *, gchar); extern gboolean g_atomic_int_compare_and_exchange(gint *, gint, gint); extern void g_mem_profile(void); extern void g_io_channel_set_buffered(GIOChannel *, gboolean); extern GMutex *g_static_mutex_get_mutex_impl(GMutex * *); extern GList *g_list_remove_all(GList *, gconstpointer); extern void g_static_private_set(GStaticPrivate *, gpointer, GDestroyNotify); extern void g_timer_start(GTimer *); extern void g_array_sort(GArray *, GCompareFunc); extern gchar *g_build_path(const gchar *, const gchar *, ...); extern gchar *g_key_file_get_string(GKeyFile *, const gchar *, const gchar *, GError * *); extern void g_return_if_fail_warning(const char *, const char *, const char *); extern GAsyncQueue *g_async_queue_new(void); extern GTokenType g_scanner_get_next_token(GScanner *); extern gchar *g_strescape(const gchar *, const gchar *); extern void g_tree_remove(GTree *, gconstpointer); extern GFileError g_file_error_from_errno(gint); extern GByteArray *g_byte_array_set_size(GByteArray *, guint); extern GSList *g_slist_insert_before(GSList *, GSList *, gpointer); extern void g_main_context_unref(GMainContext *); extern void g_on_error_query(const gchar *); extern gchar *g_find_program_in_path(const gchar *); extern GNode *g_node_insert_before(GNode *, GNode *, GNode *); extern void g_key_file_set_boolean(GKeyFile *, const gchar *, const gchar *, gboolean); extern void g_key_file_remove_key(GKeyFile *, const gchar *, const gchar *, GError * *); extern void g_dataset_foreach(gconstpointer, GDataForeachFunc, gpointer); extern const gchar *g_get_user_data_dir(void); extern void g_date_subtract_months(GDate *, guint); extern gboolean g_unichar_iscntrl(gunichar); extern guint g_timeout_add_full(gint, guint, GSourceFunc, gpointer, GDestroyNotify); extern GIOStatus g_io_channel_read_chars(GIOChannel *, gchar *, gsize, gsize *, GError * *); extern gint g_bit_nth_msf(gulong, gint); extern void g_tree_steal(GTree *, gconstpointer); extern gboolean g_date_valid(const GDate *); extern void g_io_channel_set_close_on_unref(GIOChannel *, gboolean); extern void g_tree_replace(GTree *, gpointer, gpointer); extern void g_async_queue_push_unlocked(GAsyncQueue *, gpointer); extern GNode *g_node_new(gpointer); extern void g_mem_set_vtable(GMemVTable *); extern void g_option_context_add_main_entries(GOptionContext *, const GOptionEntry *, const gchar *); extern void g_hash_table_foreach(GHashTable *, GHFunc, gpointer); extern GUnicodeType g_unichar_type(gunichar); extern GPtrArray *g_ptr_array_sized_new(guint); extern GList *g_list_insert_sorted(GList *, gpointer, GCompareFunc); extern GLogFunc g_log_set_default_handler(GLogFunc, gpointer); extern gsize g_date_strftime(gchar *, gsize, const gchar *, const GDate*); extern gboolean g_option_context_get_ignore_unknown_options(GOptionContext *); extern gpointer g_static_private_get(GStaticPrivate *); extern void g_completion_add_items(GCompletion *, GList *); extern gchar *g_stpcpy(gchar *, const gchar *); extern gchar *g_utf8_find_prev_char(const char *, const char *); extern GOptionContext *g_option_context_new(const gchar *); extern gchar *g_locale_to_utf8(const gchar *, gssize, gsize *, gsize *, GError * *); extern gint g_ascii_strncasecmp(const gchar *, const gchar *, gsize); extern void g_slist_push_allocator(GAllocator *); extern gboolean g_main_context_acquire(GMainContext *); extern GSourceFuncs g_idle_funcs; extern guint g_thread_pool_get_num_unused_threads(void); extern void g_thread_pool_free(GThreadPool *, gboolean, gboolean); extern guint g_date_get_sunday_week_of_year(const GDate *); extern gdouble g_rand_double(GRand *); extern gint g_ascii_strcasecmp(const gchar *, const gchar *); extern void g_string_printf(GString *, const gchar *, ...); extern GQuark g_quark_from_string(const gchar *); extern void g_hash_table_replace(GHashTable *, gpointer, gpointer); extern const gchar *g_strip_context(const gchar *, const gchar *); extern const gchar *g_strerror(gint); extern void g_mem_chunk_clean(GMemChunk *); extern GString *g_string_prepend_len(GString *, const gchar *, gssize); extern GArray *g_array_remove_range(GArray *, guint, guint); extern void g_queue_remove_all(GQueue *, gconstpointer); extern gint g_file_open_tmp(const gchar *, gchar * *, GError * *); extern const gchar *g_get_user_name(void); extern void g_timer_continue(GTimer *); extern void g_main_context_set_poll_func(GMainContext *, GPollFunc); extern void g_timer_destroy(GTimer *); extern void g_main_context_add_poll(GMainContext *, GPollFD *, gint); extern GSList *g_slist_alloc(void); extern GSList *g_slist_reverse(GSList *); extern GList *g_list_concat(GList *, GList *); extern gunichar g_utf8_get_char(const gchar *); extern gchar *g_shell_quote(const gchar *); extern void g_get_current_time(GTimeVal *); extern void g_option_group_set_translate_func(GOptionGroup *, GTranslateFunc, gpointer, GDestroyNotify); extern gunichar g_unichar_totitle(gunichar); extern gboolean g_spawn_async(const gchar *, gchar * *, gchar * *, GSpawnFlags, GSpawnChildSetupFunc, gpointer, GPid *, GError * *); extern gchar *g_utf16_to_utf8(const gunichar2 *, glong, glong *, glong *, GError * *); extern void g_queue_insert_before(GQueue *, GList *, gpointer); extern GSource *g_main_context_find_source_by_id(GMainContext *, guint); extern void g_mem_chunk_destroy(GMemChunk *); extern void g_thread_exit(gpointer); extern void g_option_group_set_parse_hooks(GOptionGroup *, GOptionParseFunc, GOptionParseFunc); extern GSList *g_slist_insert_sorted(GSList *, gpointer, GCompareFunc); extern void g_source_set_callback_indirect(GSource *, gpointer, GSourceCallbackFuncs *); extern GSList *g_slist_sort_with_data(GSList *, GCompareDataFunc, gpointer); extern void g_node_reverse_children(GNode *); extern gpointer g_queue_peek_nth(GQueue *, guint); extern void g_list_free(GList *); extern GList *g_list_nth_prev(GList *, guint); extern void g_strfreev(gchar * *); extern gboolean g_ptr_array_remove(GPtrArray *, gpointer); extern const guint glib_major_version; extern glong g_utf8_pointer_to_offset(const gchar *, const gchar *); extern gpointer g_tree_lookup(GTree *, gconstpointer); extern gchar *g_strdup_printf(const gchar *, ...); extern gboolean g_source_remove_by_user_data(gpointer); extern gunichar2 *g_utf8_to_utf16(const gchar *, glong, glong *, glong *, GError * *); extern gunichar *g_utf8_to_ucs4(const gchar *, glong, glong *, glong *, GError * *); extern void g_date_set_day(GDate *, GDateDay); extern gsize g_io_channel_get_buffer_size(GIOChannel *); extern void g_hash_table_insert(GHashTable *, gpointer, gpointer); extern guint g_spaced_primes_closest(guint); extern void g_option_group_add_entries(GOptionGroup *, const GOptionEntry *); extern gboolean g_key_file_load_from_file(GKeyFile *, const gchar *, GKeyFileFlags, GError * *); extern gint32 g_random_int_range(gint32, gint32); extern gpointer g_hash_table_lookup(GHashTable *, gconstpointer); extern void g_relation_index(GRelation *, gint, GHashFunc, GEqualFunc); extern GByteArray *g_byte_array_remove_range(GByteArray *, guint, guint); extern gchar *g_filename_from_utf8(const gchar *, gssize, gsize *, gsize *, GError * *); extern GQuark g_thread_error_quark(void); extern void g_hook_destroy_link(GHookList *, GHook *); extern gdouble g_random_double_range(gdouble, gdouble); extern gchar *g_filename_from_uri(const gchar *, gchar * *, GError * *); extern gboolean g_tree_lookup_extended(GTree *, gconstpointer, gpointer*, gpointer *); extern gboolean g_unichar_iswide(gunichar); extern gboolean g_unichar_isxdigit(gunichar); extern void g_queue_push_tail_link(GQueue *, GList *); extern void g_spawn_close_pid(GPid); extern GRand *g_rand_new(void); extern void g_date_set_julian(GDate *, guint32); extern GNode *g_node_insert_after(GNode *, GNode *, GNode *); extern const guint glib_binary_age; extern void g_static_rec_mutex_lock_full(GStaticRecMutex *, guint); extern GString *g_string_append_unichar(GString *, gunichar); extern GStringChunk *g_string_chunk_new(gsize); extern void g_atexit(GVoidFunc); extern void g_scanner_scope_remove_symbol(GScanner *, guint, const gchar *); extern void g_main_context_remove_poll(GMainContext *, GPollFD *); extern gchar *g_locale_from_utf8(const gchar *, gssize, gsize *, gsize *, GError * *); extern GMainContext *g_source_get_context(GSource *); extern GSourceFuncs g_io_watch_funcs; extern gint g_thread_pool_get_max_unused_threads(void); extern gboolean g_unichar_isspace(gunichar); extern GList *g_list_alloc(void); extern gpointer g_queue_pop_tail(GQueue *); extern gpointer g_thread_join(GThread *); extern GSList *g_slist_append(GSList *, gpointer); extern GNode *g_node_copy(GNode *); extern void g_time_val_add(GTimeVal *, glong); extern gboolean g_pattern_match(GPatternSpec *, guint, const gchar *, const gchar *); extern void g_source_remove_poll(GSource *, GPollFD *); extern gsize g_printf_string_upper_bound(const gchar *, va_list); extern GCompletion *g_completion_new(GCompletionFunc); extern gboolean g_date_is_last_of_month(const GDate *); extern GHook *g_hook_find(GHookList *, gboolean, GHookFindFunc, gpointer); extern gboolean g_static_rec_mutex_trylock(GStaticRecMutex *); extern GError *g_error_new_literal(GQuark, gint, const gchar *); extern void g_date_set_dmy(GDate *, GDateDay, GDateMonth, GDateYear); extern guint g_node_max_height(GNode *); extern gboolean g_unichar_isgraph(gunichar); extern gint g_list_position(GList *, GList *); extern gboolean g_pattern_match_simple(const gchar *, const gchar *); extern const gchar *g_get_real_name(void); extern void g_string_append_printf(GString *, const gchar *, ...); extern void g_static_private_init(GStaticPrivate *); extern gunichar *g_utf16_to_ucs4(const gunichar2 *, glong, glong *, glong *, GError * *); extern void g_rand_free(GRand *); extern GList *g_queue_peek_tail_link(GQueue *); extern gchar *g_convert_with_fallback(const gchar *, gssize, const gchar *, const gchar *, gchar *, gsize *, gsize *, GError * *); extern GSource *g_timeout_source_new(guint); extern guint g_child_watch_add_full(gint, GPid, GChildWatchFunc, gpointer, GDestroyNotify); extern void g_node_push_allocator(GAllocator *); extern void g_queue_foreach(GQueue *, GFunc, gpointer); extern gchar *g_strdup(const gchar *); extern gint g_queue_index(GQueue *, gconstpointer); extern gpointer g_datalist_id_remove_no_notify(GData * *, GQuark); extern guint8 *g_byte_array_free(GByteArray *, gboolean); extern void g_date_clamp(GDate *, const GDate *, const GDate *); extern void g_list_push_allocator(GAllocator *); extern void g_queue_insert_after(GQueue *, GList *, gpointer); extern gpointer g_try_malloc(gulong); extern GIOFlags g_io_channel_get_flags(GIOChannel *); extern gchar *g_filename_display_basename(const gchar *); extern GList *g_list_append(GList *, gpointer); extern gchar *g_utf8_strncpy(gchar *, const gchar *, gsize); extern gchar **g_key_file_get_string_list(GKeyFile *, const gchar *, const gchar *, gsize *, GError * *); extern guint g_log_set_handler(const gchar *, GLogLevelFlags, GLogFunc, gpointer); extern gboolean g_queue_is_empty(GQueue *); extern GList *g_queue_peek_nth_link(GQueue *, guint); extern void g_list_foreach(GList *, GFunc, gpointer); extern gint g_ascii_xdigit_value(gchar); extern GQuark g_shell_error_quark(void); extern gpointer g_ptr_array_remove_index(GPtrArray *, guint); extern GList *g_list_insert(GList *, gpointer, gint); extern void g_log(const gchar *, GLogLevelFlags, const gchar *, ...); extern gchar *g_utf8_strrchr(const char *, gssize, gunichar); extern guint g_string_hash(const GString *); extern gchar **g_key_file_get_locale_string_list(GKeyFile *, const gchar *, const gchar *, const gchar *, gsize *, GError * *); extern void g_queue_insert_sorted(GQueue *, gpointer, GCompareDataFunc, gpointer); extern void g_hook_free(GHookList *, GHook *); extern gpointer g_tree_search(GTree *, GCompareFunc, gconstpointer); extern void g_scanner_scope_foreach_symbol(GScanner *, guint, GHFunc, gpointer); extern GDir *g_dir_open(const gchar *, guint, GError * *); extern gchar *g_utf8_casefold(const gchar *, gssize); extern void g_rand_set_seed_array(GRand *, const guint32 *, guint); extern void g_date_to_struct_tm(const GDate *, struct tm *); extern gboolean g_key_file_has_group(GKeyFile *, const gchar *); extern GList *g_list_remove_link(GList *, GList *); extern gboolean g_date_valid_month(GDateMonth); extern gboolean g_spawn_command_line_sync(const gchar *, gchar * *, gchar * *, gint *, GError * *); extern gpointer g_slist_nth_data(GSList *, guint); extern gchar *g_convert(const gchar *, gssize, const gchar *, const gchar *, gsize *, gsize *, GError * *); extern void g_io_channel_unref(GIOChannel *); extern void g_markup_parse_context_get_position(GMarkupParseContext *, gint *, gint *); extern void g_datalist_foreach(GData * *, GDataForeachFunc, gpointer); extern void g_tuples_destroy(GTuples *); extern guint g_strv_length(gchar * *); extern gunichar g_unichar_toupper(gunichar); extern void g_tree_insert(GTree *, gpointer, gpointer); extern GNode *g_node_copy_deep(GNode *, GCopyFunc, gpointer); extern gint g_node_child_position(GNode *, GNode *); extern void g_list_pop_allocator(void); extern gboolean g_mem_is_system_malloc(void); extern const gchar *g_get_home_dir(void); extern void g_async_queue_push(GAsyncQueue *, gpointer); extern gboolean g_key_file_has_key(GKeyFile *, const gchar *, const gchar *, GError * *); extern gboolean g_file_get_contents(const gchar *, gchar * *, gsize *, GError * *); extern gboolean g_path_is_absolute(const gchar *); extern void g_printerr(const gchar *, ...); extern void g_completion_set_compare(GCompletion *, GCompletionStrncmpFunc); extern guint g_timeout_add(guint32, GSourceFunc, gpointer); extern void g_slist_foreach(GSList *, GFunc, gpointer); extern GArray *g_array_insert_vals(GArray *, guint, gconstpointer, guint); extern gchar *g_utf8_collate_key(const gchar *, gssize); extern void g_static_rw_lock_reader_lock(GStaticRWLock *); extern void g_mem_chunk_info(void); extern gchar *g_utf8_strreverse(const gchar *, gssize); extern GByteArray *g_byte_array_new(void); extern gboolean g_setenv(const gchar *, const gchar *, gboolean); extern gchar *g_get_current_dir(void); extern GTree *g_tree_new(GCompareFunc); extern gboolean g_unichar_isalpha(gunichar); extern gsize g_strlcat(gchar *, const gchar *, gsize); extern gboolean g_main_context_iteration(GMainContext *, gboolean); extern GHook *g_hook_ref(GHookList *, GHook *); extern GNode *g_node_find_child(GNode *, GTraverseFlags, gpointer); extern void g_option_group_set_error_hook(GOptionGroup *, GOptionErrorFunc); extern gint g_bit_nth_lsf(gulong, gint); extern gpointer g_async_queue_try_pop_unlocked(GAsyncQueue *); extern GCache *g_cache_new(GCacheNewFunc, GCacheDestroyFunc, GCacheDupFunc, GCacheDestroyFunc, GHashFunc, GHashFunc, GEqualFunc); extern void g_print(const gchar *, ...); extern gint g_unichar_xdigit_value(gunichar); extern GTimer *g_timer_new(void); extern gchar *g_string_chunk_insert(GStringChunk *, const gchar *); extern gchar *g_file_read_link(const gchar *, GError * *); extern void g_assert_warning(const char *, const char *, const int, const char *, const char *); extern guint g_str_hash(gconstpointer); extern void g_key_file_set_locale_string_list(GKeyFile *, const gchar *, const gchar *, const gchar *, const gchar * const *, gsize); extern GString *g_string_sized_new(gsize); extern void g_hash_table_destroy(GHashTable *); extern void g_static_mutex_free(GStaticMutex *); extern gchar *g_ascii_strup(const gchar *, gssize); extern gchar g_ascii_toupper(gchar); extern guint g_date_get_iso8601_week_of_year(const GDate *); extern void g_slist_free(GSList *); extern gboolean g_string_equal(const GString *, const GString *); extern guint g_scanner_cur_line(GScanner *); extern gint g_date_compare(const GDate *, const GDate *); extern GString *g_string_insert_len(GString *, gssize, const gchar *, gssize); extern gchar *g_strdelimit(gchar *, const gchar *, gchar); extern guint g_node_n_children(GNode *); extern GNode *g_node_last_sibling(GNode *); extern const gchar *const *g_get_language_names(void); extern GHook *g_hook_alloc(GHookList *); extern GDateMonth g_date_get_month(const GDate *); extern gboolean g_date_is_leap_year(GDateYear); extern gpointer g_queue_pop_nth(GQueue *, guint); extern gchar *g_strreverse(gchar *); extern guint g_hash_table_size(GHashTable *); extern gpointer g_mem_chunk_alloc(GMemChunk *); extern GList *g_queue_peek_head_link(GQueue *); extern GList *g_queue_find(GQueue *, gconstpointer); extern void g_dataset_id_set_data_full(gconstpointer, GQuark, gpointer, GDestroyNotify); extern void g_unsetenv(const gchar *); extern guint64 g_ascii_strtoull(const gchar *, gchar * *, guint); extern gboolean g_spawn_command_line_async(const gchar *, GError * *); extern GHook *g_hook_find_func(GHookList *, gboolean, gpointer); extern gchar *g_array_free(GArray *, gboolean); extern gpointer g_malloc0(gulong); extern gint g_node_child_index(GNode *, gpointer); extern GIOStatus g_io_channel_shutdown(GIOChannel *, gboolean, GError **); extern GQuark g_quark_try_string(const gchar *); extern GIOStatus g_io_channel_set_encoding(GIOChannel *, const gchar *, GError * *); extern gboolean g_scanner_eof(GScanner *); extern void g_cache_destroy(GCache *); extern gboolean g_spawn_sync(const gchar *, gchar * *, gchar * *, GSpawnFlags, GSpawnChildSetupFunc, gpointer, gchar * *, gchar * *, gint *, GError * *); extern gboolean g_static_rw_lock_reader_trylock(GStaticRWLock *); extern void g_byte_array_sort(GByteArray *, GCompareFunc); extern void g_atomic_int_add(gint *, gint); extern gpointer g_async_queue_timed_pop(GAsyncQueue *, GTimeVal *); extern GHook *g_hook_get(GHookList *, gulong); extern void g_option_context_set_help_enabled(GOptionContext *, gboolean); extern guint g_static_rec_mutex_unlock_full(GStaticRecMutex *); extern gboolean g_hash_table_lookup_extended(GHashTable *, gconstpointer, gpointer *, gpointer *); extern void g_date_add_years(GDate *, guint); extern void g_static_private_free(GStaticPrivate *); extern const gchar *g_quark_to_string(GQuark); extern GList *g_list_prepend(GList *, gpointer); extern gchar *g_utf8_find_next_char(const gchar *, const gchar *); extern void g_static_rw_lock_writer_lock(GStaticRWLock *); extern GIOStatus g_io_channel_read_line(GIOChannel *, gchar * *, gsize *, gsize *, GError * *); extern void g_thread_pool_stop_unused_threads(void); extern const gchar *const *g_get_system_data_dirs(void); extern GLogLevelFlags g_log_set_fatal_mask(const gchar *, GLogLevelFlags); extern GMainContext *g_main_loop_get_context(GMainLoop *); extern gpointer g_malloc(gulong); extern GIOStatus g_io_channel_flush(GIOChannel *, GError * *); extern gboolean g_file_test(const gchar *, GFileTest); extern void g_key_file_set_integer(GKeyFile *, const gchar *, const gchar *, gint); extern void g_date_set_year(GDate *, GDateYear); extern gpointer g_once_impl(GOnce *, GThreadFunc, gpointer); extern void g_usleep(gulong); extern void g_thread_pool_push(GThreadPool *, gpointer, GError * *); extern void g_key_file_remove_comment(GKeyFile *, const gchar *, const gchar *, GError * *); extern GTuples *g_relation_select(GRelation *, gconstpointer, gint); extern gboolean g_unichar_istitle(gunichar); extern gchar *g_strrstr(const gchar *, const gchar *); extern GQuark g_spawn_error_quark(void); extern GTokenType g_scanner_cur_token(GScanner *); extern void g_date_free(GDate *); extern gboolean g_io_channel_get_close_on_unref(GIOChannel *); extern GScanner *g_scanner_new(const GScannerConfig *); extern guint g_node_n_nodes(GNode *, GTraverseFlags); extern gint g_tree_height(GTree *); extern gboolean g_str_has_prefix(const gchar *, const gchar *); extern gunichar g_utf8_get_char_validated(const gchar *, gssize); extern void g_scanner_unexp_token(GScanner *, GTokenType, const gchar *, const gchar *, const gchar *, const gchar *, gint); extern GString *g_string_prepend_c(GString *, gchar); extern void g_relation_destroy(GRelation *); extern guint g_hash_table_foreach_steal(GHashTable *, GHRFunc, gpointer); extern void g_free(gpointer); extern guint g_int_hash(gconstpointer); extern gboolean g_threads_got_initialized; extern void g_source_get_current_time(GSource *, GTimeVal *); extern GList *g_queue_pop_tail_link(GQueue *); extern GString *g_string_new(const gchar *); extern void g_key_file_set_boolean_list(GKeyFile *, const gchar *, const gchar *, gboolean *, gsize); extern GString *g_string_append(GString *, const gchar *); extern GByteArray *g_byte_array_append(GByteArray *, const guint8 *, guint); extern void g_key_file_set_value(GKeyFile *, const gchar *, const gchar*, const gchar *); extern gboolean g_pattern_spec_equal(GPatternSpec *, GPatternSpec *); extern GMainContext *g_main_context_new(void); extern gboolean g_unichar_ispunct(gunichar); extern guint8 g_date_get_sunday_weeks_in_year(GDateYear); extern void g_date_subtract_days(GDate *, guint); extern gboolean g_date_valid_weekday(GDateWeekday); extern gchar **g_strsplit_set(const gchar *, const gchar *, gint); extern void g_dataset_destroy(gconstpointer); extern gpointer g_async_queue_pop_unlocked(GAsyncQueue *); extern guint g_scanner_cur_position(GScanner *); extern guint g_date_get_day_of_year(const GDate *); extern GList *g_list_find_custom(GList *, gconstpointer, GCompareFunc); extern void g_source_unref(GSource *); extern GSList *g_slist_remove_link(GSList *, GSList *); extern GDateDay g_date_get_day(const GDate *); extern gboolean g_option_context_parse(GOptionContext *, gint *, gchar * **, GError * *); extern void g_tree_foreach(GTree *, GTraverseFunc, gpointer); extern void g_string_chunk_free(GStringChunk *); extern gchar *g_strjoinv(const gchar *, gchar * *); extern GString *g_string_append_c(GString *, gchar); extern GString *g_string_truncate(GString *, gsize); extern const gchar *g_get_tmp_dir(void); extern void g_scanner_input_text(GScanner *, const gchar *, guint); extern gpointer g_list_nth_data(GList *, guint); extern GNode *g_node_last_child(GNode *); extern gboolean g_node_is_ancestor(GNode *, GNode *); extern GString *g_string_ascii_down(GString *); extern void g_blow_chunks(void); extern gboolean g_unichar_get_mirror_char(gunichar, gunichar *); extern GOptionGroup *g_option_group_new(const gchar *, const gchar *, const gchar *, gpointer, GDestroyNotify); extern const gchar *g_get_user_cache_dir(void); extern gboolean *g_key_file_get_boolean_list(GKeyFile *, const gchar *, const gchar *, gsize *, GError * *); extern void g_scanner_warn(GScanner *, const gchar *, ...); extern void g_queue_delete_link(GQueue *, GList *); extern guint g_direct_hash(gconstpointer); extern GSList *g_slist_find_custom(GSList *, gconstpointer, GCompareFunc); extern GTokenValue g_scanner_cur_value(GScanner *); extern guint8 g_date_get_days_in_month(GDateMonth, GDateYear); extern gboolean g_get_charset(const char **); extern gboolean g_unichar_isalnum(gunichar); extern GList *g_list_reverse(GList *); extern void g_hook_insert_sorted(GHookList *, GHook *, GHookCompareFunc); extern guint g_source_attach(GSource *, GMainContext *); extern gchar *g_strconcat(const gchar *, ...); extern void g_nullify_pointer(gpointer *); extern void g_ptr_array_remove_range(GPtrArray *, guint, guint); extern void g_static_rw_lock_free(GStaticRWLock *); extern GString *g_string_new_len(const gchar *, gssize); extern GList *g_list_insert_before(GList *, GList *, gpointer); extern void g_date_set_parse(GDate *, const gchar *); extern void g_log_remove_handler(const gchar *, guint); extern gboolean g_str_equal(gconstpointer, gconstpointer); extern GMainLoop *g_main_loop_ref(GMainLoop *); extern gchar *g_ucs4_to_utf8(const gunichar *, glong, glong *, glong *, GError * *); extern gpointer g_memdup(gconstpointer, guint); extern GAllocator *g_allocator_new(const gchar *, guint); extern GList *g_completion_complete_utf8(GCompletion *, const gchar *, gchar * *); extern void g_main_loop_run(GMainLoop *); extern void g_scanner_error(GScanner *, const gchar *, ...); extern void g_mem_chunk_reset(GMemChunk *); extern GThread *g_thread_create_full(GThreadFunc, gpointer, gulong, gboolean, gboolean, GThreadPriority, GError * *); extern gboolean g_date_is_first_of_month(const GDate *); extern gunichar *g_utf8_to_ucs4_fast(const gchar *, glong, glong *); extern void g_queue_reverse(GQueue *); extern void g_node_children_foreach(GNode *, GTraverseFlags, GNodeForeachFunc, gpointer); extern void g_timer_stop(GTimer *); extern GSourceFuncs g_timeout_funcs; extern gboolean g_main_context_wait(GMainContext *, GCond *, GMutex *); extern void g_set_prgname(const gchar *); extern void g_allocator_free(GAllocator *); extern const gchar *g_markup_parse_context_get_element(GMarkupParseContext *); extern guint g_parse_debug_string(const gchar *, const GDebugKey *, guint); extern void g_error_free(GError *); extern gchar *g_string_chunk_insert_len(GStringChunk *, const gchar *, gssize); extern GArray *g_array_new(gboolean, gboolean, guint); extern GDate *g_date_new_dmy(GDateDay, GDateMonth, GDateYear); extern GMemVTable *glib_mem_profiler_table; extern void g_qsort_with_data(gconstpointer, gint, gsize, GCompareDataFunc, gpointer); extern gboolean g_shell_parse_argv(const gchar *, gint *, gchar * **, GError * *); extern gchar *g_strchomp(gchar *); extern guint32 g_random_int(void); extern void g_option_context_set_main_group(GOptionContext *, GOptionGroup *); extern void g_date_clear(GDate *, guint); extern GIOStatus g_io_channel_read_unichar(GIOChannel *, gunichar *, GError * *); extern GList *g_list_nth(GList *, guint); extern void g_node_destroy(GNode *); extern const gchar *glib_check_version(guint, guint, guint); extern GThread *g_thread_self(void); extern GList *g_list_sort_with_data(GList *, GCompareDataFunc, gpointer); extern void g_io_channel_set_line_term(GIOChannel *, const gchar *, gint); extern GIOChannel *g_io_channel_unix_new(gint); extern GThreadFunctions g_thread_functions_for_glib_use; extern GString *g_string_insert(GString *, gssize, const gchar *); extern gpointer g_trash_stack_pop(GTrashStack * *); extern void g_hook_list_marshal(GHookList *, gboolean, GHookMarshaller, gpointer); extern size_t g_iconv(GIConv, gchar * *, gsize *, gchar * *, gsize *); extern void g_queue_remove(GQueue *, gconstpointer); extern const gchar *g_path_skip_root(const gchar *); extern gint g_queue_link_index(GQueue *, GList *); extern gpointer g_tuples_index(GTuples *, gint, gint); extern GIOChannelError g_io_channel_error_from_errno(gint); extern void g_main_context_wakeup(GMainContext *); extern gboolean g_direct_equal(gconstpointer, gconstpointer); extern GSource *g_source_new(GSourceFuncs *, guint); extern gboolean g_idle_remove_by_data(gpointer); extern void g_io_channel_set_buffer_size(GIOChannel *, gsize); extern guint g_io_add_watch_full(GIOChannel *, gint, GIOCondition, GIOFunc, gpointer, GDestroyNotify); extern void g_dir_rewind(GDir *); extern GSourceFuncs g_child_watch_funcs; extern gint g_iconv_close(GIConv); extern gchar *g_ascii_strdown(const gchar *, gssize); extern gchar *g_key_file_get_locale_string(GKeyFile *, const gchar *, const gchar *, const gchar *, GError * *); extern GQueue *g_queue_copy(GQueue *); extern guint g_node_depth(GNode *); extern const gchar *g_strsignal(gint); extern GSList *g_slist_concat(GSList *, GSList *); extern gboolean g_source_remove_by_funcs_user_data(GSourceFuncs *, gpointer); extern GSource *g_io_create_watch(GIOChannel *, GIOCondition); extern gpointer g_cache_insert(GCache *, gpointer); extern gpointer g_scanner_lookup_symbol(GScanner *, const gchar *); extern GIOStatus g_io_channel_seek_position(GIOChannel *, gint64, GSeekType, GError * *); extern gboolean g_thread_use_default_impl; extern guint g_io_add_watch(GIOChannel *, GIOCondition, GIOFunc, gpointer); extern GSource *g_main_context_find_source_by_user_data(GMainContext *, gpointer); extern GIConv g_iconv_open(const gchar *, const gchar *); extern gchar *g_strdup_vprintf(const gchar *, va_list); extern void g_datalist_clear(GData * *); extern void g_static_rw_lock_reader_unlock(GStaticRWLock *); extern gsize g_strlcpy(gchar *, const gchar *, gsize); extern GRand *g_rand_new_with_seed(guint32); extern guint g_thread_pool_unprocessed(GThreadPool *); extern GQuark g_file_error_quark(void); extern gdouble g_ascii_strtod(const gchar *, gchar * *); extern GByteArray *g_byte_array_prepend(GByteArray *, const guint8 *, guint); extern GQuark g_quark_from_static_string(const gchar *); extern void g_unicode_canonical_ordering(gunichar *, gsize); extern gboolean g_ptr_array_remove_fast(GPtrArray *, gpointer); extern gint g_list_index(GList *, gconstpointer); extern void g_tree_destroy(GTree *); extern GDate *g_date_new(void); extern void g_thread_init_with_errorcheck_mutexes(GThreadFunctions *); extern void g_thread_init(GThreadFunctions *); __________________________________________________________ 15.3.2. glib-2.0/glib/gprintf.h extern gint g_sprintf(gchar *, const gchar *, ...); extern gint g_fprintf(FILE *, const gchar *, ...); extern gint g_vasprintf(gchar * *, const gchar *, va_list); extern gint g_vprintf(const gchar *, va_list); extern gint g_printf(const gchar *, ...); extern gint g_vfprintf(FILE *, const gchar *, va_list); extern gint g_vsnprintf(gchar *, gulong, const gchar *, va_list); extern gint g_vsprintf(gchar *, const gchar *, va_list); extern gint g_snprintf(gchar *, gulong, const gchar *, ...); __________________________________________________________ 15.3.3. glib-2.0/glib/gstdio.h #define g_fopen fopen #define g_freopen freopen #define g_lstat lstat #define g_mkdir mkdir #define g_open open #define g_remove remove #define g_rename rename #define g_rmdir rmdir #define g_stat stat #define g_unlink unlink __________________________________________________________ 15.4. Interfaces for libgobject-2.0 Table 15-54 defines the library name and shared object name for the libgobject-2.0 library Table 15-54. libgobject-2.0 Definition Library: libgobject-2.0 SONAME: libgobject-2.0.so.0 The behavior of the interfaces in this library is specified by the following specifications: [Gobject] Gobject 2.6.2 Reference Manual __________________________________________________________ 15.4.1. Glib Object System __________________________________________________________ 15.4.1.1. Interfaces for Glib Object System An LSB conforming implementation shall provide the generic functions for Glib Object System specified in Table 15-55, with the full mandatory functionality as described in the referenced underlying specification. Table 15-55. libgobject-2.0 - Glib Object System Function Interfaces g_boxed_copy [Gobject] g_boxed_free [Gobject] g_boxed_type_register_static [Gobject] g_cclosure_marshal_BOOLEAN__FLAGS [Gobject] g_cclosure_marshal_STRING__OBJECT_POINTER [Gobject] g_cclosure_marshal_VOID__BOOLEAN [Gobject] g_cclosure_marshal_VOID__BOXED [Gobject] g_cclosure_marshal_VOID__CHAR [Gobject] g_cclosure_marshal_VOID__DOUBLE [Gobject] g_cclosure_marshal_VOID__ENUM [Gobject] g_cclosure_marshal_VOID__FLAGS [Gobject] g_cclosure_marshal_VOID__FLOAT [Gobject] g_cclosure_marshal_VOID__INT [Gobject] g_cclosure_marshal_VOID__LONG [Gobject] g_cclosure_marshal_VOID__OBJECT [Gobject] g_cclosure_marshal_VOID__PARAM [Gobject] g_cclosure_marshal_VOID__POINTER [Gobject] g_cclosure_marshal_VOID__STRING [Gobject] g_cclosure_marshal_VOID__UCHAR [Gobject] g_cclosure_marshal_VOID__UINT [Gobject] g_cclosure_marshal_VOID__UINT_POINTER [Gobject] g_cclosure_marshal_VOID__ULONG [Gobject] g_cclosure_marshal_VOID__VOID [Gobject] g_cclosure_new [Gobject] g_cclosure_new_object [Gobject] g_cclosure_new_object_swap [Gobject] g_cclosure_new_swap [Gobject] g_closure_add_finalize_notifier [Gobject] g_closure_add_invalidate_notifier [Gobject] g_closure_add_marshal_guards [Gobject] g_closure_get_type [Gobject] g_closure_invalidate [Gobject] g_closure_invoke [Gobject] g_closure_new_object [Gobject] g_closure_new_simple [Gobject] g_closure_ref [Gobject] g_closure_remove_finalize_notifier [Gobject] g_closure_remove_invalidate_notifier [Gobject] g_closure_set_marshal [Gobject] g_closure_set_meta_marshal [Gobject] g_closure_sink [Gobject] g_closure_unref [Gobject] g_enum_complete_type_info [Gobject] g_enum_get_value [Gobject] g_enum_get_value_by_name [Gobject] g_enum_get_value_by_nick [Gobject] g_enum_register_static [Gobject] g_flags_complete_type_info [Gobject] g_flags_get_first_value [Gobject] g_flags_get_value_by_name [Gobject] g_flags_get_value_by_nick [Gobject] g_flags_register_static [Gobject] g_gstring_get_type [Gobject] g_io_channel_get_type [Gobject] g_io_condition_get_type [Gobject] g_object_add_weak_pointer [Gobject] g_object_class_find_property [Gobject] g_object_class_install_property [Gobject] g_object_class_list_properties [Gobject] g_object_class_override_property [Gobject] g_object_connect [Gobject] g_object_disconnect [Gobject] g_object_freeze_notify [Gobject] g_object_get [Gobject] g_object_get_data [Gobject] g_object_get_property [Gobject] g_object_get_qdata [Gobject] g_object_get_valist [Gobject] g_object_interface_find_property [Gobject] g_object_interface_install_property [Gobject] g_object_interface_list_properties [Gobject] g_object_new [Gobject] g_object_new_valist [Gobject] g_object_newv [Gobject] g_object_notify [Gobject] g_object_ref [Gobject] g_object_remove_weak_pointer [Gobject] g_object_run_dispose [Gobject] g_object_set [Gobject] g_object_set_data [Gobject] g_object_set_data_full [Gobject] g_object_set_property [Gobject] g_object_set_qdata [Gobject] g_object_set_qdata_full [Gobject] g_object_set_valist [Gobject] g_object_steal_data [Gobject] g_object_steal_qdata [Gobject] g_object_thaw_notify [Gobject] g_object_unref [Gobject] g_object_watch_closure [Gobject] g_object_weak_ref [Gobject] g_object_weak_unref [Gobject] g_param_spec_boolean [Gobject] g_param_spec_boxed [Gobject] g_param_spec_char [Gobject] g_param_spec_double [Gobject] g_param_spec_enum [Gobject] g_param_spec_flags [Gobject] g_param_spec_float [Gobject] g_param_spec_get_blurb [Gobject] g_param_spec_get_name [Gobject] g_param_spec_get_nick [Gobject] g_param_spec_get_qdata [Gobject] g_param_spec_get_redirect_target [Gobject] g_param_spec_int [Gobject] g_param_spec_int64 [Gobject] g_param_spec_internal [Gobject] g_param_spec_long [Gobject] g_param_spec_object [Gobject] g_param_spec_override [Gobject] g_param_spec_param [Gobject] g_param_spec_pointer [Gobject] g_param_spec_pool_insert [Gobject] g_param_spec_pool_list [Gobject] g_param_spec_pool_list_owned [Gobject] g_param_spec_pool_lookup [Gobject] g_param_spec_pool_new [Gobject] g_param_spec_pool_remove [Gobject] g_param_spec_ref [Gobject] g_param_spec_set_qdata [Gobject] g_param_spec_set_qdata_full [Gobject] g_param_spec_sink [Gobject] g_param_spec_steal_qdata [Gobject] g_param_spec_string [Gobject] g_param_spec_uchar [Gobject] g_param_spec_uint [Gobject] g_param_spec_uint64 [Gobject] g_param_spec_ulong [Gobject] g_param_spec_unichar [Gobject] g_param_spec_unref [Gobject] g_param_spec_value_array [Gobject] g_param_type_register_static [Gobject] g_param_value_convert [Gobject] g_param_value_defaults [Gobject] g_param_value_set_default [Gobject] g_param_value_validate [Gobject] g_param_values_cmp [Gobject] g_pointer_type_register_static [Gobject] g_signal_accumulator_true_handled [Gobject] g_signal_add_emission_hook [Gobject] g_signal_chain_from_overridden [Gobject] g_signal_connect_closure [Gobject] g_signal_connect_closure_by_id [Gobject] g_signal_connect_data [Gobject] g_signal_connect_object [Gobject] g_signal_emit [Gobject] g_signal_emit_by_name [Gobject] g_signal_emit_valist [Gobject] g_signal_emitv [Gobject] g_signal_get_invocation_hint [Gobject] g_signal_handler_block [Gobject] g_signal_handler_disconnect [Gobject] g_signal_handler_find [Gobject] g_signal_handler_is_connected [Gobject] g_signal_handler_unblock [Gobject] g_signal_handlers_block_matched [Gobject] g_signal_handlers_destroy [Gobject] g_signal_handlers_disconnect_matched [Gobject] g_signal_handlers_unblock_matched [Gobject] g_signal_has_handler_pending [Gobject] g_signal_list_ids [Gobject] g_signal_lookup [Gobject] g_signal_name [Gobject] g_signal_new [Gobject] g_signal_new_valist [Gobject] g_signal_newv [Gobject] g_signal_override_class_closure [Gobject] g_signal_parse_name [Gobject] g_signal_query [Gobject] g_signal_remove_emission_hook [Gobject] g_signal_stop_emission [Gobject] g_signal_stop_emission_by_name [Gobject] g_signal_type_cclosure_new [Gobject] g_source_set_closure [Gobject] g_strdup_value_contents [Gobject] g_strv_get_type [Gobject] g_type_add_class_cache_func [Gobject] g_type_add_interface_check [Gobject] g_type_add_interface_dynamic [Gobject] g_type_add_interface_static [Gobject] g_type_check_class_cast [Gobject] g_type_check_class_is_a [Gobject] g_type_check_instance [Gobject] g_type_check_instance_cast [Gobject] g_type_check_instance_is_a [Gobject] g_type_check_is_value_type [Gobject] g_type_check_value [Gobject] g_type_check_value_holds [Gobject] g_type_children [Gobject] g_type_class_add_private [Gobject] g_type_class_peek [Gobject] g_type_class_peek_parent [Gobject] g_type_class_peek_static [Gobject] g_type_class_ref [Gobject] g_type_class_unref [Gobject] g_type_class_unref_uncached [Gobject] g_type_create_instance [Gobject] g_type_default_interface_peek [Gobject] g_type_default_interface_ref [Gobject] g_type_default_interface_unref [Gobject] g_type_depth [Gobject] g_type_free_instance [Gobject] g_type_from_name [Gobject] g_type_fundamental [Gobject] g_type_fundamental_next [Gobject] g_type_get_plugin [Gobject] g_type_get_qdata [Gobject] g_type_init [Gobject] g_type_init_with_debug_flags [Gobject] g_type_instance_get_private [Gobject] g_type_interface_add_prerequisite [Gobject] g_type_interface_get_plugin [Gobject] g_type_interface_peek [Gobject] g_type_interface_peek_parent [Gobject] g_type_interface_prerequisites [Gobject] g_type_interfaces [Gobject] g_type_is_a [Gobject] g_type_module_add_interface [Gobject] g_type_module_get_type [Gobject] g_type_module_register_enum [Gobject] g_type_module_register_flags [Gobject] g_type_module_register_type [Gobject] g_type_module_set_name [Gobject] g_type_module_unuse [Gobject] g_type_module_use [Gobject] g_type_name [Gobject] g_type_name_from_class [Gobject] g_type_name_from_instance [Gobject] g_type_next_base [Gobject] g_type_parent [Gobject] g_type_plugin_complete_interface_info [Gobject] g_type_plugin_complete_type_info [Gobject] g_type_plugin_get_type [Gobject] g_type_plugin_unuse [Gobject] g_type_plugin_use [Gobject] g_type_qname [Gobject] g_type_query [Gobject] g_type_register_dynamic [Gobject] g_type_register_fundamental [Gobject] g_type_register_static [Gobject] g_type_remove_class_cache_func [Gobject] g_type_remove_interface_check [Gobject] g_type_set_qdata [Gobject] g_type_test_flags [Gobject] g_type_value_table_peek [Gobject] g_value_array_append [Gobject] g_value_array_copy [Gobject] g_value_array_free [Gobject] g_value_array_get_nth [Gobject] g_value_array_get_type [Gobject] g_value_array_insert [Gobject] g_value_array_new [Gobject] g_value_array_prepend [Gobject] g_value_array_remove [Gobject] g_value_array_sort [Gobject] g_value_array_sort_with_data [Gobject] g_value_copy [Gobject] g_value_dup_boxed [Gobject] g_value_dup_object [Gobject] g_value_dup_param [Gobject] g_value_dup_string [Gobject] g_value_fits_pointer [Gobject] g_value_get_boolean [Gobject] g_value_get_boxed [Gobject] g_value_get_char [Gobject] g_value_get_double [Gobject] g_value_get_enum [Gobject] g_value_get_flags [Gobject] g_value_get_float [Gobject] g_value_get_int [Gobject] g_value_get_int64 [Gobject] g_value_get_long [Gobject] g_value_get_object [Gobject] g_value_get_param [Gobject] g_value_get_pointer [Gobject] g_value_get_string [Gobject] g_value_get_type [Gobject] g_value_get_uchar [Gobject] g_value_get_uint [Gobject] g_value_get_uint64 [Gobject] g_value_get_ulong [Gobject] g_value_init [Gobject] g_value_peek_pointer [Gobject] g_value_register_transform_func [Gobject] g_value_reset [Gobject] g_value_set_boolean [Gobject] g_value_set_boxed [Gobject] g_value_set_char [Gobject] g_value_set_double [Gobject] g_value_set_enum [Gobject] g_value_set_flags [Gobject] g_value_set_float [Gobject] g_value_set_instance [Gobject] g_value_set_int [Gobject] g_value_set_int64 [Gobject] g_value_set_long [Gobject] g_value_set_object [Gobject] g_value_set_param [Gobject] g_value_set_pointer [Gobject] g_value_set_static_boxed [Gobject] g_value_set_static_string [Gobject] g_value_set_string [Gobject] g_value_set_uchar [Gobject] g_value_set_uint [Gobject] g_value_set_uint64 [Gobject] g_value_set_ulong [Gobject] g_value_take_boxed [Gobject] g_value_take_object [Gobject] g_value_take_param [Gobject] g_value_take_string [Gobject] g_value_transform [Gobject] g_value_type_compatible [Gobject] g_value_type_transformable [Gobject] g_value_unset [Gobject] An LSB conforming implementation shall provide the generic data interfaces for Glib Object System specified in Table 15-56, with the full mandatory functionality as described in the referenced underlying specification. Table 15-56. libgobject-2.0 - Glib Object System Data Interfaces g_param_spec_types [Gobject] __________________________________________________________ 15.5. Data Definitions for libgobject-2.0 This section defines global identifiers and their values that are associated with interfaces contained in libgobject-2.0. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 15.5.1. glib-2.0/glib-object.h #define G_CCLOSURE_SWAP_DATA(cclosure) \ (((GClosure*) (cclosure))->derivative_flag) #define G_CLOSURE_NEEDS_MARSHAL(closure) \ (((GClosure*) (closure))->marshal == NULL) #define G_TYPE_FROM_INTERFACE(g_iface) \ (((GTypeInterface*) (g_iface))->g_type) #define G_CLOSURE_N_NOTIFIERS(cl) \ ((cl)->meta_marshal + ((cl)->n_guards << 1L) + (cl)->n_fnotifiers + \ (cl)->n_inotifiers) #define _G_TYPE_CCC(cp,gt,ct) \ ((ct*) g_type_check_class_cast ((GTypeClass*) cp, gt)) #define _G_TYPE_CIC(ip,gt,ct) \ ((ct*) g_type_check_instance_cast ((GTypeInstance*) ip, gt)) #define _G_TYPE_IGI(ip,gt,ct) \ ((ct*) g_type_interface_peek (((GTypeInstance*) ip)->g_class, gt)) #define G_TYPE_INSTANCE_GET_PRIVATE(instance,g_type,c_type) \ ((c_type*) g_type_instance_get_private ((GTypeInstance*) (instance), \ (g_type))) #define G_TYPE_MAKE_FUNDAMENTAL(x) \ ((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT)) #define _G_TYPE_CCT(cp,gt) \ (G_GNUC_EXTENSION ({ GTypeClass *__class = (GTypeClass*) cp; GType \ __t = gt; gboolean __r; if (__class && __class->g_type == __t) __r = \ TRUE; else __r = g_type_check_class_is_a (__class, __t); __r; })) #define _G_TYPE_CIT(ip,gt) \ (G_GNUC_EXTENSION ({ GTypeInstance *__inst = (GTypeInstance*) ip; \ GType __t = gt; gboolean __r; if (__inst && __inst->g_class && \ __inst->g_class->g_type == __t) __r = TRUE; else __r = \ g_type_check_instance_is_a (__inst, __t); __r; })) #define _G_TYPE_CVH(vl,gt) \ (G_GNUC_EXTENSION ({ GValue *__val = (GValue*) vl; GType __t = gt; \ gboolean __r; if (__val && __val->g_type == __t) __r = TRUE; else __r \ = g_type_check_value_holds (__val, __t); __r; })) #define G_ENUM_CLASS(class) \ (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_ENUM, GEnumClass)) #define G_FLAGS_CLASS(class) \ (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_FLAGS, GFlagsClass)) #define G_OBJECT_CLASS(class) \ (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass)) #define G_TYPE_MODULE_CLASS(class) \ (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_TYPE_MODULE, \ GTypeModuleClass)) #define G_PARAM_SPEC_CLASS(pclass) \ (G_TYPE_CHECK_CLASS_CAST ((pclass), G_TYPE_PARAM, GParamSpecClass)) #define G_TYPE_PLUGIN_CLASS(vtable) \ (G_TYPE_CHECK_CLASS_CAST ((vtable), G_TYPE_TYPE_PLUGIN, \ GTypePluginClass)) #define G_IS_ENUM_CLASS(class) \ (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_ENUM)) #define G_IS_FLAGS_CLASS(class) \ (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_FLAGS)) #define G_IS_OBJECT_CLASS(class) \ (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_OBJECT)) #define G_IS_TYPE_MODULE_CLASS(class) \ (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_TYPE_MODULE)) #define G_IS_PARAM_SPEC_CLASS(pclass) \ (G_TYPE_CHECK_CLASS_TYPE ((pclass), G_TYPE_PARAM)) #define G_IS_TYPE_PLUGIN_CLASS(vtable) \ (G_TYPE_CHECK_CLASS_TYPE ((vtable), G_TYPE_TYPE_PLUGIN)) #define G_TYPE_PLUGIN(inst) \ (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_TYPE_PLUGIN, \ GTypePlugin)) #define G_TYPE_MODULE(module) \ (G_TYPE_CHECK_INSTANCE_CAST ((module), G_TYPE_TYPE_MODULE, \ GTypeModule)) #define G_OBJECT(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_OBJECT, GObject)) #define G_PARAM_SPEC(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM, GParamSpec)) #define G_PARAM_SPEC_BOOLEAN(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOOLEAN, \ GParamSpecBoolean)) #define G_PARAM_SPEC_BOXED(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOXED, \ GParamSpecBoxed)) #define G_PARAM_SPEC_CHAR(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_CHAR, \ GParamSpecChar)) #define G_PARAM_SPEC_DOUBLE(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_DOUBLE, \ GParamSpecDouble)) #define G_PARAM_SPEC_ENUM(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ENUM, \ GParamSpecEnum)) #define G_PARAM_SPEC_FLAGS(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLAGS, \ GParamSpecFlags)) #define G_PARAM_SPEC_FLOAT(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLOAT, \ GParamSpecFloat)) #define G_PARAM_SPEC_INT(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT, \ GParamSpecInt)) #define G_PARAM_SPEC_INT64(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT64, \ GParamSpecInt64)) #define G_PARAM_SPEC_LONG(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_LONG, \ GParamSpecLong)) #define G_PARAM_SPEC_OBJECT(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OBJECT, \ GParamSpecObject)) #define G_PARAM_SPEC_OVERRIDE(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OVERRIDE, \ GParamSpecOverride)) #define G_PARAM_SPEC_PARAM(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_PARAM, \ GParamSpecParam)) #define G_PARAM_SPEC_POINTER(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_POINTER, \ GParamSpecPointer)) #define G_PARAM_SPEC_STRING(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_STRING, \ GParamSpecString)) #define G_PARAM_SPEC_UCHAR(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UCHAR, \ GParamSpecUChar)) #define G_PARAM_SPEC_UINT(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT, \ GParamSpecUInt)) #define G_PARAM_SPEC_UINT64(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT64, \ GParamSpecUInt64)) #define G_PARAM_SPEC_ULONG(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ULONG, \ GParamSpecULong)) #define G_PARAM_SPEC_UNICHAR(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UNICHAR, \ GParamSpecUnichar)) #define G_PARAM_SPEC_VALUE_ARRAY(pspec) \ (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_VALUE_ARRAY,\ GParamSpecValueArray)) #define G_IS_TYPE_PLUGIN(inst) \ (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_TYPE_PLUGIN)) #define G_IS_TYPE_MODULE(module) \ (G_TYPE_CHECK_INSTANCE_TYPE ((module), G_TYPE_TYPE_MODULE)) #define G_IS_OBJECT(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), G_TYPE_OBJECT)) #define G_IS_PARAM_SPEC(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM)) #define G_IS_PARAM_SPEC_BOOLEAN(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOOLEAN)) #define G_IS_PARAM_SPEC_BOXED(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOXED)) #define G_IS_PARAM_SPEC_CHAR(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_CHAR)) #define G_IS_PARAM_SPEC_DOUBLE(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_DOUBLE)) #define G_IS_PARAM_SPEC_ENUM(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ENUM)) #define G_IS_PARAM_SPEC_FLAGS(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLAGS)) #define G_IS_PARAM_SPEC_FLOAT(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLOAT)) #define G_IS_PARAM_SPEC_INT(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT)) #define G_IS_PARAM_SPEC_INT64(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT64)) #define G_IS_PARAM_SPEC_LONG(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_LONG)) #define G_IS_PARAM_SPEC_OBJECT(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OBJECT)) #define G_IS_PARAM_SPEC_OVERRIDE(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OVERRIDE)) #define G_IS_PARAM_SPEC_PARAM(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_PARAM)) #define G_IS_PARAM_SPEC_POINTER(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_POINTER)) #define G_IS_PARAM_SPEC_STRING(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_STRING)) #define G_IS_PARAM_SPEC_UCHAR(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UCHAR)) #define G_IS_PARAM_SPEC_UINT(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT)) #define G_IS_PARAM_SPEC_UINT64(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT64)) #define G_IS_PARAM_SPEC_ULONG(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ULONG)) #define G_IS_PARAM_SPEC_UNICHAR(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UNICHAR)) #define G_IS_PARAM_SPEC_VALUE_ARRAY(pspec) \ (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_VALUE_ARRAY)) #define G_VALUE_HOLDS(value,type) \ (G_TYPE_CHECK_VALUE_TYPE ((value), (type))) #define G_VALUE_HOLDS_BOOLEAN(value) \ (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_BOOLEAN)) #define G_VALUE_HOLDS_BOXED(value) \ (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_BOXED)) #define G_VALUE_HOLDS_CHAR(value) \ (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_CHAR)) #define G_VALUE_HOLDS_DOUBLE(value) \ (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_DOUBLE)) #define G_VALUE_HOLDS_ENUM(value) \ (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_ENUM)) #define G_VALUE_HOLDS_FLAGS(value) \ (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_FLAGS)) #define G_VALUE_HOLDS_FLOAT(value) \ (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_FLOAT)) #define G_VALUE_HOLDS_INT(value) \ (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_INT)) #define G_VALUE_HOLDS_INT64(value) \ (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_INT64)) #define G_VALUE_HOLDS_LONG(value) \ (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_LONG)) #define G_VALUE_HOLDS_OBJECT(value) \ (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_OBJECT)) #define G_VALUE_HOLDS_PARAM(value) \ (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_PARAM)) #define G_VALUE_HOLDS_POINTER(value) \ (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_POINTER)) #define G_VALUE_HOLDS_STRING(value) \ (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_STRING)) #define G_VALUE_HOLDS_UCHAR(value) \ (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_UCHAR)) #define G_VALUE_HOLDS_UINT(value) \ (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_UINT)) #define G_VALUE_HOLDS_UINT64(value) \ (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_UINT64)) #define G_VALUE_HOLDS_ULONG(value) \ (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_ULONG)) #define G_TYPE_FROM_INSTANCE(instance) \ (G_TYPE_FROM_CLASS (((GTypeInstance*) (instance))->g_class)) #define G_TYPE_IS_INTERFACE(type) \ (G_TYPE_FUNDAMENTAL (type) == G_TYPE_INTERFACE) #define G_TYPE_IS_OBJECT(type) \ (G_TYPE_FUNDAMENTAL (type) == G_TYPE_OBJECT) #define G_TYPE_MODULE_GET_CLASS(module) \ (G_TYPE_INSTANCE_GET_CLASS ((module), G_TYPE_TYPE_MODULE, \ GTypeModuleClass)) #define G_OBJECT_GET_CLASS(object) \ (G_TYPE_INSTANCE_GET_CLASS ((object), G_TYPE_OBJECT, GObjectClass)) #define G_PARAM_SPEC_GET_CLASS(pspec) \ (G_TYPE_INSTANCE_GET_CLASS ((pspec), G_TYPE_PARAM, GParamSpecClass)) #define G_TYPE_PLUGIN_GET_CLASS(inst) \ (G_TYPE_INSTANCE_GET_INTERFACE ((inst), G_TYPE_TYPE_PLUGIN, \ GTypePluginClass)) #define G_ENUM_CLASS_TYPE_NAME(class) \ (g_type_name (G_ENUM_CLASS_TYPE (class))) #define G_FLAGS_CLASS_TYPE_NAME(class) \ (g_type_name (G_FLAGS_TYPE (class))) #define G_OBJECT_CLASS_NAME(class) \ (g_type_name (G_OBJECT_CLASS_TYPE (class))) #define G_PARAM_SPEC_TYPE_NAME(pspec) \ (g_type_name (G_PARAM_SPEC_TYPE (pspec))) #define G_TYPE_IS_ABSTRACT(type) \ (g_type_test_flags ((type), G_TYPE_FLAG_ABSTRACT)) #define G_TYPE_IS_CLASSED(type) \ (g_type_test_flags ((type), G_TYPE_FLAG_CLASSED)) #define G_TYPE_IS_DEEP_DERIVABLE(type) \ (g_type_test_flags ((type), G_TYPE_FLAG_DEEP_DERIVABLE)) #define G_TYPE_IS_DERIVABLE(type) \ (g_type_test_flags ((type), G_TYPE_FLAG_DERIVABLE)) #define G_TYPE_IS_INSTANTIATABLE(type) \ (g_type_test_flags ((type), G_TYPE_FLAG_INSTANTIATABLE)) #define G_TYPE_IS_VALUE_ABSTRACT(type) \ (g_type_test_flags ((type), G_TYPE_FLAG_VALUE_ABSTRACT)) #define G_TYPE_HAS_VALUE_TABLE(type) \ (g_type_value_table_peek (type) != NULL) #define G_TYPE_CHECK_CLASS_CAST(g_class,g_type,c_type) \ (_G_TYPE_CCC ((g_class), (g_type), c_type)) #define G_TYPE_CHECK_CLASS_TYPE(g_class,g_type) \ (_G_TYPE_CCT ((g_class), (g_type))) #define G_TYPE_CHECK_INSTANCE(instance) \ (_G_TYPE_CHI ((GTypeInstance*) (instance))) #define G_TYPE_CHECK_INSTANCE_CAST(instance,g_type,c_type) \ (_G_TYPE_CIC ((instance), (g_type), c_type)) #define G_TYPE_CHECK_INSTANCE_TYPE(instance,g_type) \ (_G_TYPE_CIT ((instance), (g_type))) #define G_TYPE_CHECK_VALUE_TYPE(value,g_type) \ (_G_TYPE_CVH ((value), (g_type))) #define G_TYPE_INSTANCE_GET_CLASS(instance,g_type,c_type) \ (_G_TYPE_IGC ((instance), (g_type), c_type)) #define G_TYPE_INSTANCE_GET_INTERFACE(instance,g_type,c_type) \ (_G_TYPE_IGI ((instance), (g_type), c_type)) #define G_DEFINE_TYPE_WITH_CODE(TN,t_n,T_P,_C_) \ G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, 0, _C_) #define G_DEFINE_TYPE(TN,t_n,T_P) \ G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, 0, {}) #define G_DEFINE_ABSTRACT_TYPE_WITH_CODE(TN,t_n,T_P,_C_) \ G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, G_TYPE_FLAG_ABSTRACT, _C_) #define G_DEFINE_ABSTRACT_TYPE(TN,t_n,T_P) \ G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, G_TYPE_FLAG_ABSTRACT, {}) #define G_OBJECT_WARN_INVALID_PROPERTY_ID(object,property_id,pspec) \ G_OBJECT_WARN_INVALID_PSPEC ((object), "property", (property_id), \ (pspec)) #define g_signal_connect(instance,detailed_signal,c_handler,data) \ g_signal_connect_data ((instance), (detailed_signal), (c_handler), \ (data), NULL, (GConnectFlags) 0) #define g_signal_connect_after(instance,detailed_signal,c_handler,data) \ g_signal_connect_data ((instance), (detailed_signal), (c_handler), \ (data), NULL, G_CONNECT_AFTER) #define g_signal_connect_swapped(instance,detailed_signal,c_handler,data) \ g_signal_connect_data ((instance), (detailed_signal), (c_handler), \ (data), NULL, G_CONNECT_SWAPPED) #define g_signal_handlers_block_by_func(instance,func,data) \ g_signal_handlers_block_matched ((instance), (GSignalMatchType)\ (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, NULL, (func), \ (data)) #define g_signal_handlers_disconnect_by_func(instance,func,data) \ g_signal_handlers_disconnect_matched ((instance), (GSignalMatchType) \ (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, NULL, (func), \ (data)) #define g_signal_handlers_unblock_by_func(instance,func,data) \ g_signal_handlers_unblock_matched ((instance), (GSignalMatchType) \ (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, NULL, (func), \ (data)) #define G_OBJECT_WARN_INVALID_PSPEC(object,pname,property_id,pspec) \ G_STMT_START { GObject *_object = (GObject*) (object); GParamSpec \ *_pspec = (GParamSpec*) (pspec); guint _property_id = (property_id); \ g_warning ("%s: invalid %s id %u for \"%s\" of type %s in %s", \ G_STRLOC, (pname), _property_id, _pspec->name, g_type_name \ (G_PARAM_SPEC_TYPE (_pspec)), G_OBJECT_TYPE_NAME (_object)); } \ G_STMT_END #define G_DEFINE_TYPE_EXTENDED(TypeName,type_name,TYPE_PARENT,flags,CODE) \ static void type_name ##_init (TypeName *self); static void type_name \ ##_class_init (TypeName ##Class *klass); static gpointer type_name \ ##_parent_class = NULL; static void type_name ##_class_intern_init \ (gpointer klass) { type_name ##_parent_class = \ g_type_class_peek_parent (klass); type_name ##_class_init ((TypeName \ ##Class*) klass); } GType type_name ##_get_type (void) { staticGType \ g_define_type_id = 0; if (G_UNLIKELY (g_define_type_id == 0)) {static \ const GTypeInfo g_define_type_info = { sizeof (TypeName ##Class), \ (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) \ type_name ##_class_intern_init, (GClassFinalizeFunc) NULL, NULL, \ sizeof (TypeName), 0, (GInstanceInitFunc) type_name ##_init, NULL }; \ g_define_type_id = g_type_register_static (TYPE_PARENT, #TypeName, \ &g_define_type_info, (GTypeFlags) flags); { CODE ; } } return \ g_define_type_id; } #define G_IMPLEMENT_INTERFACE(TYPE_IFACE,iface_init) \ { static const GInterfaceInfo g_implement_interface_info = { \ (GInterfaceInitFunc) iface_init }; g_type_add_interface_static \ (g_define_type_id, TYPE_IFACE, &g_implement_interface_info); } #define G_TYPE_FROM_CLASS(g_class) (((GTypeClass*) (g_class))->g_type) #define G_VALUE_TYPE(value) (((GValue*) (value))->g_type) #define _G_TYPE_IGC(ip,gt,ct) ((ct*) (((GTypeInstance*) ip)->g_class)) #define G_CALLBACK(f) ((GCallback) (f)) #define G_TYPE_FLAG_RESERVED_ID_BIT ((GType) (1 << 0)) #define G_TYPE_IS_FUNDAMENTAL(type) ((type) <= G_TYPE_FUNDAMENTAL_MAX) #define G_TYPE_IS_DERIVED(type) ((type) > G_TYPE_FUNDAMENTAL_MAX) #define G_PARAM_MASK (0x000000ff) #define G_VALUE_NOCOPY_CONTENTS (1 << 27) #define G_TYPE_FUNDAMENTAL_SHIFT (2) #define G_TYPE_RESERVED_GLIB_FIRST (21) #define G_TYPE_FUNDAMENTAL_MAX (255 << G_TYPE_FUNDAMENTAL_SHIFT) #define G_TYPE_RESERVED_GLIB_LAST (31) #define G_TYPE_RESERVED_BSE_FIRST (32) #define G_TYPE_RESERVED_BSE_LAST (48) #define G_TYPE_RESERVED_USER_FIRST (49) #define G_PARAM_USER_SHIFT (8) #define G_TYPE_CLOSURE (g_closure_get_type ()) #define G_TYPE_GSTRING (g_gstring_get_type ()) #define G_TYPE_IO_CHANNEL (g_io_channel_get_type ()) #define G_TYPE_IO_CONDITION (g_io_condition_get_type ()) #define G_PARAM_READWRITE (G_PARAM_READABLE | G_PARAM_WRITABLE) #define G_PARAM_SPEC_VALUE_TYPE(pspec) (G_PARAM_SPEC (pspec)->value_type) #define G_TYPE_PARAM_CHAR (g_param_spec_types[0]) #define G_TYPE_PARAM_ENUM (g_param_spec_types[10]) #define G_TYPE_PARAM_FLAGS (g_param_spec_types[11]) #define G_TYPE_PARAM_FLOAT (g_param_spec_types[12]) #define G_TYPE_PARAM_DOUBLE (g_param_spec_types[13]) #define G_TYPE_PARAM_STRING (g_param_spec_types[14]) #define G_TYPE_PARAM_PARAM (g_param_spec_types[15]) #define G_TYPE_PARAM_BOXED (g_param_spec_types[16]) #define G_TYPE_PARAM_POINTER (g_param_spec_types[17]) #define G_TYPE_PARAM_VALUE_ARRAY (g_param_spec_types[18]) #define G_TYPE_PARAM_OBJECT (g_param_spec_types[19]) #define G_TYPE_PARAM_UCHAR (g_param_spec_types[1]) #define G_TYPE_PARAM_OVERRIDE (g_param_spec_types[20]) #define G_TYPE_PARAM_BOOLEAN (g_param_spec_types[2]) #define G_TYPE_PARAM_INT (g_param_spec_types[3]) #define G_TYPE_PARAM_UINT (g_param_spec_types[4]) #define G_TYPE_PARAM_LONG (g_param_spec_types[5]) #define G_TYPE_PARAM_ULONG (g_param_spec_types[6]) #define G_TYPE_PARAM_INT64 (g_param_spec_types[7]) #define G_TYPE_PARAM_UINT64 (g_param_spec_types[8]) #define G_TYPE_PARAM_UNICHAR (g_param_spec_types[9]) #define G_TYPE_STRV (g_strv_get_type ()) #define _G_TYPE_CHI(ip) (g_type_check_instance ((GTypeInstance*) ip)) #define G_TYPE_IS_VALUE(type) (g_type_check_is_value_type (type)) #define G_TYPE_IS_VALUE_TYPE(type) (g_type_check_is_value_type (type)) #define _G_TYPE_CHV(vl) (g_type_check_value ((GValue*) vl)) #define G_IS_VALUE(value) (G_TYPE_CHECK_VALUE (value)) #define G_SIGNAL_TYPE_STATIC_SCOPE (G_TYPE_FLAG_RESERVED_ID_BIT) #define G_ENUM_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class)) #define G_FLAGS_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class)) #define G_OBJECT_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class)) #define G_OBJECT_TYPE(object) (G_TYPE_FROM_INSTANCE (object)) #define G_PARAM_SPEC_TYPE(pspec) (G_TYPE_FROM_INSTANCE (pspec)) #define G_TYPE_IS_BOXED(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_BOXED) #define G_TYPE_IS_ENUM(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_ENUM) #define G_TYPE_IS_FLAGS(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_FLAGS) #define G_TYPE_IS_PARAM(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_PARAM) #define G_TYPE_FUNDAMENTAL(type) (g_type_fundamental (type)) #define G_TYPE_TYPE_MODULE (g_type_module_get_type ()) #define G_OBJECT_TYPE_NAME(object) (g_type_name (G_OBJECT_TYPE (object))) #define G_VALUE_TYPE_NAME(value) (g_type_name (G_VALUE_TYPE (value))) #define G_TYPE_TYPE_PLUGIN (g_type_plugin_get_type ()) #define G_TYPE_VALUE_ARRAY (g_value_array_get_type ()) #define G_TYPE_VALUE (g_value_get_type ()) #define G_TYPE_CHECK_VALUE(value) (_G_TYPE_CHV ((value))) #define G_SIGNAL_MATCH_MASK 0x3f #define G_SIGNAL_FLAGS_MASK 0x7f #define GOBJECT_VAR extern #define g_cclosure_marshal_BOOL__FLAGS g_cclosure_marshal_BOOLEAN__FLAGS #define G_TYPE_INVALID G_TYPE_MAKE_FUNDAMENTAL (0) #define G_TYPE_NONE G_TYPE_MAKE_FUNDAMENTAL (1) #define G_TYPE_INT64 G_TYPE_MAKE_FUNDAMENTAL (10) #define G_TYPE_UINT64 G_TYPE_MAKE_FUNDAMENTAL (11) #define G_TYPE_ENUM G_TYPE_MAKE_FUNDAMENTAL (12) #define G_TYPE_FLAGS G_TYPE_MAKE_FUNDAMENTAL (13) #define G_TYPE_FLOAT G_TYPE_MAKE_FUNDAMENTAL (14) #define G_TYPE_DOUBLE G_TYPE_MAKE_FUNDAMENTAL (15) #define G_TYPE_STRING G_TYPE_MAKE_FUNDAMENTAL (16) #define G_TYPE_POINTER G_TYPE_MAKE_FUNDAMENTAL (17) #define G_TYPE_BOXED G_TYPE_MAKE_FUNDAMENTAL (18) #define G_TYPE_PARAM G_TYPE_MAKE_FUNDAMENTAL (19) #define G_TYPE_INTERFACE G_TYPE_MAKE_FUNDAMENTAL (2) #define G_TYPE_OBJECT G_TYPE_MAKE_FUNDAMENTAL (20) #define G_TYPE_CHAR G_TYPE_MAKE_FUNDAMENTAL (3) #define G_TYPE_UCHAR G_TYPE_MAKE_FUNDAMENTAL (4) #define G_TYPE_BOOLEAN G_TYPE_MAKE_FUNDAMENTAL (5) #define G_TYPE_INT G_TYPE_MAKE_FUNDAMENTAL (6) #define G_TYPE_UINT G_TYPE_MAKE_FUNDAMENTAL (7) #define G_TYPE_LONG G_TYPE_MAKE_FUNDAMENTAL (8) #define G_TYPE_ULONG G_TYPE_MAKE_FUNDAMENTAL (9) typedef gulong GType; typedef struct _GTypeClass { GType g_type; } GTypeClass; typedef struct _GTypeInstance { GTypeClass *g_class; } GTypeInstance; typedef struct _GObject { GTypeInstance g_type_instance; guint ref_count; GData *qdata; } GObject; typedef float gfloat; typedef struct _GValue { GType g_type; union { gint v_int; guint v_uint; glong v_long; gulong v_ulong; gint64 v_int64; guint64 v_uint64; gfloat v_float; gdouble v_double; gpointer v_pointer; } data[2]; } GValue; typedef enum { G_PARAM_READABLE = 1, G_PARAM_WRITABLE = 2, G_PARAM_CONSTRUCT = 4, G_PARAM_CONSTRUCT_ONLY = 8, G_PARAM_LAX_VALIDATION = 16, G_PARAM_PRIVATE = 32 } GParamFlags; typedef struct _GParamSpec { GTypeInstance g_type_instance; gchar *name; GParamFlags flags; GType value_type; GType owner_type; gchar *_nick; gchar *_blurb; GData *qdata; guint ref_count; guint param_id; } GParamSpec; typedef struct _GObjectConstructParam { GParamSpec *pspec; GValue *value; } GObjectConstructParam; typedef struct _GObjectClass { GTypeClass g_type_class; GSList *construct_properties; GObject *(*constructor) (GType, guint, GObjectConstructParam *); void (*set_property) (GObject *, guint, const GValue *, GParamSpec *); void (*get_property) (GObject *, guint, GValue *, GParamSpec *); void (*dispose) (GObject *); void (*finalize) (GObject *); void (*dispatch_properties_changed) (GObject *, guint, GParamSpec **); void (*notify) (GObject *, GParamSpec *); gpointer pdummy[8]; } GObjectClass; typedef struct _GClosure { guint ref_count:15; guint meta_marshal:1; guint n_guards:1; guint n_fnotifiers:2; guint n_inotifiers:8; guint in_inotify:1; guint floating:1; guint derivative_flag:1; guint in_marshal:1; guint is_invalid:1; void (*marshal) (GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); gpointer data; GClosureNotifyData *notifiers; } GClosure; typedef void (*GClosureNotify) (gpointer, GClosure *); typedef struct _GClosureNotifyData { gpointer data; GClosureNotify notify; } GClosureNotifyData; typedef void (*GTypeInterfaceCheckFunc) (gpointer, gpointer); typedef struct _GValueArray { guint n_values; GValue *values; guint n_prealloced; } GValueArray; typedef struct _GEnumValue { gint value; gchar *value_name; gchar *value_nick; } GEnumValue; typedef struct _GEnumClass { GTypeClass g_type_class; gint minimum; gint maximum; guint n_values; GEnumValue *values; } GEnumClass; typedef struct _GParamSpecPool GParamSpecPool; typedef enum { G_TYPE_DEBUG_NONE = 0, G_TYPE_DEBUG_OBJECTS = 1, G_TYPE_DEBUG_SIGNALS = 2, G_TYPE_DEBUG_MASK = 3 } GTypeDebugFlags; typedef struct _GTypePlugin GTypePlugin; typedef enum { G_SIGNAL_MATCH_ID = 1, G_SIGNAL_MATCH_DETAIL = 2, G_SIGNAL_MATCH_CLOSURE = 4, G_SIGNAL_MATCH_FUNC = 8, G_SIGNAL_MATCH_DATA = 16, G_SIGNAL_MATCH_UNBLOCKED = 32 } GSignalMatchType; typedef struct _GFlagsValue { guint value; gchar *value_name; gchar *value_nick; } GFlagsValue; typedef void (*GClosureMarshal) (GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); typedef void (*GCallback) (void); typedef struct _GFlagsClass { GTypeClass g_type_class; guint mask; guint n_values; GFlagsValue *values; } GFlagsClass; typedef gboolean(*GTypeClassCacheFunc) (gpointer, GTypeClass *); typedef enum { G_SIGNAL_RUN_FIRST = 1, G_SIGNAL_RUN_LAST = 2, G_SIGNAL_RUN_CLEANUP = 4, G_SIGNAL_NO_RECURSE = 8, G_SIGNAL_DETAILED = 16, G_SIGNAL_ACTION = 32, G_SIGNAL_NO_HOOKS = 64 } GSignalFlags; typedef struct _GSignalInvocationHint { guint signal_id; GQuark detail; GSignalFlags run_type; } GSignalInvocationHint; typedef void (*GWeakNotify) (gpointer, GObject *); typedef void (*GBaseInitFunc) (gpointer); typedef void (*GBaseFinalizeFunc) (gpointer); typedef void (*GClassInitFunc) (gpointer, gpointer); typedef void (*GClassFinalizeFunc) (gpointer, gpointer); typedef void (*GInstanceInitFunc) (GTypeInstance *, gpointer); typedef union _GTypeCValue GTypeCValue; typedef struct _GTypeValueTable { void (*value_init) (GValue *); void (*value_free) (GValue *); void (*value_copy) (const GValue *, GValue *); gpointer(*value_peek_pointer) (const GValue *); gchar *collect_format; gchar *(*collect_value) (GValue *, guint, GTypeCValue *, guint); gchar *lcopy_format; gchar *(*lcopy_value) (const GValue *, guint, GTypeCValue *, guint); } GTypeValueTable; typedef struct _GTypeInfo { guint16 class_size; GBaseInitFunc base_init; GBaseFinalizeFunc base_finalize; GClassInitFunc class_init; GClassFinalizeFunc class_finalize; gconstpointer class_data; guint16 instance_size; guint16 n_preallocs; GInstanceInitFunc instance_init; const GTypeValueTable *value_table; } GTypeInfo; typedef enum { G_TYPE_FLAG_ABSTRACT = 16, G_TYPE_FLAG_VALUE_ABSTRACT = 32 } GTypeFlags; typedef struct _GTypeModule { GObject parent_instance; guint use_count; GSList *type_infos; GSList *interface_infos; gchar *name; } GTypeModule; typedef void (*GInterfaceInitFunc) (gpointer, gpointer); typedef void (*GInterfaceFinalizeFunc) (gpointer, gpointer); typedef struct _GInterfaceInfo { GInterfaceInitFunc interface_init; GInterfaceFinalizeFunc interface_finalize; gpointer interface_data; } GInterfaceInfo; typedef gboolean(*GSignalAccumulator) (GSignalInvocationHint *, GValue *, const GValue *, gpointer); typedef GClosureMarshal GSignalCMarshaller; typedef enum { G_CONNECT_AFTER = 1, G_CONNECT_SWAPPED = 2 } GConnectFlags; typedef enum { G_TYPE_FLAG_CLASSED = 1, G_TYPE_FLAG_INSTANTIATABLE = 2, G_TYPE_FLAG_DERIVABLE = 4, G_TYPE_FLAG_DEEP_DERIVABLE = 8 } GTypeFundamentalFlags; typedef struct _GTypeFundamentalInfo { GTypeFundamentalFlags type_flags; } GTypeFundamentalInfo; typedef struct _GTypeQuery { GType type; const gchar *type_name; guint class_size; guint instance_size; } GTypeQuery; typedef gboolean(*GSignalEmissionHook) (GSignalInvocationHint *, guint, const GValue *, gpointer); typedef void (*GValueTransform) (const GValue *, GValue *); typedef struct _GParameter { const gchar *name; GValue value; } GParameter; typedef struct _GParamSpecTypeInfo { guint16 instance_size; guint16 n_preallocs; void (*instance_init) (GParamSpec *); GType value_type; void (*finalize) (GParamSpec *); void (*value_set_default) (GParamSpec *, GValue *); gboolean(*value_validate) (GParamSpec *, GValue *); gint(*values_cmp) (GParamSpec *, const GValue *, const GValue *); } GParamSpecTypeInfo; typedef gpointer(*GBoxedCopyFunc) (gpointer); typedef void (*GBoxedFreeFunc) (gpointer); typedef struct _GSignalQuery { guint signal_id; const gchar *signal_name; GType itype; GSignalFlags signal_flags; GType return_type; guint n_params; const GType *param_types; } GSignalQuery; typedef struct _GTypeInterface { GType g_type; GType g_instance_type; } GTypeInterface; typedef void (*GTypePluginCompleteInterfaceInfo) (GTypePlugin *, GType, GType, GInterfaceInfo*); typedef struct _GParamSpecObject { GParamSpec parent_instance; } GParamSpecObject; typedef void (*GTypePluginUnuse) (GTypePlugin *); typedef void (*GTypePluginUse) (GTypePlugin *); typedef void (*GTypePluginCompleteTypeInfo) (GTypePlugin *, GType, GTypeInfo *, GTypeValueTable *); typedef struct _GTypePluginClass { GTypeInterface base_iface; GTypePluginUse use_plugin; GTypePluginUnuse unuse_plugin; GTypePluginCompleteTypeInfo complete_type_info; GTypePluginCompleteInterfaceInfo complete_interface_info; } GTypePluginClass; typedef struct _GCClosure { GClosure closure; gpointer callback; } GCClosure; typedef struct _GParamSpecUnichar { GParamSpec parent_instance; gunichar default_value; } GParamSpecUnichar; typedef struct _GParamSpecUInt64 { GParamSpec parent_instance; guint64 minimum; guint64 maximum; guint64 default_value; } GParamSpecUInt64; typedef struct _GParamSpecBoxed { GParamSpec parent_instance; } GParamSpecBoxed; typedef struct _GParamSpecOverride { GParamSpec parent_instance; GParamSpec *overridden; } GParamSpecOverride; typedef struct _GParamSpecClass { GTypeClass g_type_class; GType value_type; void (*finalize) (GParamSpec *); void (*value_set_default) (GParamSpec *, GValue *); gboolean(*value_validate) (GParamSpec *, GValue *); gint(*values_cmp) (GParamSpec *, const GValue *, const GValue *); gpointer dummy[4]; } GParamSpecClass; typedef struct _GParamSpecLong { GParamSpec parent_instance; glong minimum; glong maximum; glong default_value; } GParamSpecLong; typedef struct _GParamSpecEnum { GParamSpec parent_instance; GEnumClass *enum_class; gint default_value; } GParamSpecEnum; typedef struct _GParamSpecFloat { GParamSpec parent_instance; gfloat minimum; gfloat maximum; gfloat default_value; gfloat epsilon; } GParamSpecFloat; typedef struct _GParamSpecString { GParamSpec parent_instance; gchar *default_value; gchar *cset_first; gchar *cset_nth; gchar substitutor; guint null_fold_if_empty:1; guint ensure_non_null:1; } GParamSpecString; typedef struct _GParamSpecDouble { GParamSpec parent_instance; gdouble minimum; gdouble maximum; gdouble default_value; gdouble epsilon; } GParamSpecDouble; typedef struct _GParamSpecParam { GParamSpec parent_instance; } GParamSpecParam; typedef struct _GParamSpecValueArray { GParamSpec parent_instance; GParamSpec *element_spec; guint fixed_n_elements; } GParamSpecValueArray; typedef struct _GParamSpecFlags { GParamSpec parent_instance; GFlagsClass *flags_class; guint default_value; } GParamSpecFlags; typedef struct _GParamSpecInt64 { GParamSpec parent_instance; gint64 minimum; gint64 maximum; gint64 default_value; } GParamSpecInt64; typedef struct _GParamSpecPointer { GParamSpec parent_instance; } GParamSpecPointer; typedef struct _GParamSpecInt { GParamSpec parent_instance; gint minimum; gint maximum; gint default_value; } GParamSpecInt; typedef struct _GTypeModuleClass { GObjectClass parent_class; gboolean(*load) (GTypeModule *); void (*unload) (GTypeModule *); void (*reserved1) (void); void (*reserved2) (void); void (*reserved3) (void); void (*reserved4) (void); } GTypeModuleClass; typedef struct _GParamSpecUInt { GParamSpec parent_instance; guint minimum; guint maximum; guint default_value; } GParamSpecUInt; typedef struct _GParamSpecUChar { GParamSpec parent_instance; guint8 minimum; guint8 maximum; guint8 default_value; } GParamSpecUChar; typedef struct _GParamSpecULong { GParamSpec parent_instance; gulong minimum; gulong maximum; gulong default_value; } GParamSpecULong; typedef struct _GParamSpecChar { GParamSpec parent_instance; gint8 minimum; gint8 maximum; gint8 default_value; } GParamSpecChar; typedef struct _GParamSpecBoolean { GParamSpec parent_instance; gboolean default_value; } GParamSpecBoolean; typedef void (*GObjectFinalizeFunc) (GObject *); typedef void (*GObjectGetPropertyFunc) (GObject *, guint, GValue *, GParamSpec *); typedef void (*GObjectSetPropertyFunc) (GObject *, guint, const GValue *, GParamSpec *); typedef gchar *gchararray; typedef gchar **GStrv; extern void g_object_set_property(GObject *, const gchar *, const GValue *); extern void g_value_set_param(GValue *, GParamSpec *); extern gpointer g_object_steal_qdata(GObject *, GQuark); extern void g_object_class_override_property(GObjectClass *, guint, const gchar *); extern void g_cclosure_marshal_VOID__INT(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern void g_closure_sink(GClosure *); extern gboolean g_type_check_value_holds(GValue *, GType); extern void g_type_remove_interface_check(gpointer, GTypeInterfaceCheckFunc); extern GValueArray *g_value_array_remove(GValueArray *, guint); extern gboolean g_param_value_defaults(GParamSpec *, GValue *); extern GParamSpec *g_param_spec_long(const gchar *, const gchar *, const gchar *, glong, glong, glong, GParamFlags); extern gpointer g_param_spec_internal(GType, const gchar *, const gchar*, const gchar *, GParamFlags); extern void g_cclosure_marshal_VOID__LONG(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern GType g_io_channel_get_type(void); extern GEnumValue *g_enum_get_value(GEnumClass *, gint); extern GParamSpec *g_param_spec_boolean(const gchar *, const gchar *, const gchar *, gboolean, GParamFlags); extern GParamSpec *g_param_spec_pointer(const gchar *, const gchar *, const gchar *, GParamFlags); extern GClosure *g_closure_new_object(guint, GObject *); extern void g_param_spec_pool_insert(GParamSpecPool *, GParamSpec *, GType); extern void g_type_init_with_debug_flags(GTypeDebugFlags); extern GType *g_type_interfaces(GType, guint *); extern GClosure *g_closure_new_simple(guint, gpointer); extern GParamSpec *g_param_spec_string(const gchar *, const gchar *, const gchar *, const gchar *, GParamFlags); extern GValueArray *g_value_array_copy(const GValueArray *); extern gpointer g_type_instance_get_private(GTypeInstance *, GType); extern void g_cclosure_marshal_VOID__FLAGS(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern GTypePlugin *g_type_get_plugin(GType); extern void g_param_spec_unref(GParamSpec *); extern gint g_param_values_cmp(GParamSpec *, const GValue *, const GValue *); extern void g_value_set_object(GValue *, gpointer); extern GParamSpec *g_param_spec_boxed(const gchar *, const gchar *, const gchar *, GType, GParamFlags); extern void g_value_set_int(GValue *, gint); extern gboolean g_signal_parse_name(const gchar *, GType, guint *, GQuark *, gboolean); extern GParamSpec *g_param_spec_pool_lookup(GParamSpecPool *, const gchar *, GType, gboolean); extern GTypeInstance *g_type_create_instance(GType); extern void g_signal_override_class_closure(guint, GType, GClosure *); extern gboolean g_param_value_validate(GParamSpec *, GValue *); extern void g_closure_add_invalidate_notifier(GClosure *, gpointer, GClosureNotify); extern gpointer g_type_interface_peek(gpointer, GType); extern gboolean g_type_test_flags(GType, guint); extern void g_signal_emit_by_name(gpointer, const gchar *, ...); extern void g_value_set_int64(GValue *, gint64); extern void g_cclosure_marshal_VOID__UINT(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern GType g_enum_register_static(const gchar *, const GEnumValue *); extern guint g_signal_handlers_disconnect_matched(gpointer, GSignalMatchType, guint, GQuark, GClosure *, gpointer, gpointer); extern gpointer g_value_get_pointer(const GValue *); extern GType g_flags_register_static(const gchar *, const GFlagsValue *); extern gboolean g_value_fits_pointer(const GValue *); extern void g_closure_set_marshal(GClosure *, GClosureMarshal); extern void g_value_set_float(GValue *, gfloat); extern void g_signal_emit(gpointer, guint, GQuark, ...); extern GParamSpec *g_param_spec_uint(const gchar *, const gchar *, const gchar *, guint, guint, guint, GParamFlags); extern GClosure *g_cclosure_new_object_swap(GCallback, GObject *); extern void g_param_spec_set_qdata(GParamSpec *, GQuark, gpointer); extern guint *g_signal_list_ids(GType, guint *); extern GFlagsValue *g_flags_get_first_value(GFlagsClass *, guint); extern void g_type_add_class_cache_func(gpointer, GTypeClassCacheFunc); extern void g_object_unref(gpointer); extern GParamSpec *g_value_dup_param(const GValue *); extern void g_object_get(gpointer, const gchar *, ...); extern void g_value_set_uint64(GValue *, guint64); extern void g_cclosure_marshal_VOID__OBJECT(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern guint64 g_value_get_uint64(const GValue *); extern GType *g_type_children(GType, guint *); extern const gchar *g_type_name(GType); extern GTypeClass *g_type_check_class_cast(GTypeClass *, GType); extern void g_cclosure_marshal_VOID__UCHAR(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern gpointer g_object_new(GType, const gchar *, ...); extern void g_type_class_unref_uncached(gpointer); extern const gchar *g_type_name_from_class(GTypeClass *); extern void g_object_set(gpointer, const gchar *, ...); extern void g_signal_emit_valist(gpointer, guint, GQuark, va_list); extern GSignalInvocationHint *g_signal_get_invocation_hint(gpointer); extern void g_closure_invalidate(GClosure *); extern void g_cclosure_marshal_VOID__FLOAT(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern void g_object_weak_unref(GObject *, GWeakNotify, gpointer); extern GParamSpec *g_param_spec_int(const gchar *, const gchar *, const gchar *, gint, gint, gint, GParamFlags); extern void g_value_set_char(GValue *, gchar); extern gpointer g_type_default_interface_ref(GType); extern GValueArray *g_value_array_sort(GValueArray *, GCompareFunc); extern void g_cclosure_marshal_VOID__VOID(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern GType *g_param_spec_types; extern GClosure *g_cclosure_new_object(GCallback, GObject *); extern GType g_type_register_static(GType, const gchar *, const GTypeInfo *, GTypeFlags); extern GEnumValue *g_enum_get_value_by_name(GEnumClass *, const gchar *); extern GFlagsValue *g_flags_get_value_by_nick(GFlagsClass *, const gchar *); extern guint g_type_depth(GType); extern void g_object_class_install_property(GObjectClass *, guint, GParamSpec *); extern void g_type_plugin_unuse(GTypePlugin *); extern void g_type_module_unuse(GTypeModule *); extern GParamSpec *g_param_spec_flags(const gchar *, const gchar *, const gchar *, GType, guint, GParamFlags); extern GParamSpec *g_param_spec_char(const gchar *, const gchar *, const gchar *, gint8, gint8, gint8, GParamFlags); extern void g_closure_remove_invalidate_notifier(GClosure *, gpointer, GClosureNotify); extern gint g_value_get_enum(const GValue *); extern GParamSpec *g_object_interface_find_property(gpointer, const gchar *); extern void g_value_copy(const GValue *, GValue *); extern gpointer g_type_get_qdata(GType, GQuark); extern void g_cclosure_marshal_VOID__DOUBLE(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern gboolean g_value_type_compatible(GType, GType); extern void g_object_set_data_full(GObject *, const gchar *, gpointer, GDestroyNotify); extern guint g_signal_handlers_block_matched(gpointer, GSignalMatchType, guint, GQuark, GClosure *, gpointer, gpointer); extern gpointer g_boxed_copy(GType, gconstpointer); extern const gchar *g_value_get_string(const GValue *); extern void g_object_thaw_notify(GObject *); extern void g_signal_handler_block(gpointer, gulong); extern void g_type_plugin_complete_type_info(GTypePlugin *, GType, GTypeInfo *, GTypeValueTable *); extern GTypeInstance *g_type_check_instance_cast(GTypeInstance *, GType); extern GEnumValue *g_enum_get_value_by_nick(GEnumClass *, const gchar *); extern GType g_type_from_name(const gchar *); extern gboolean g_signal_accumulator_true_handled(GSignalInvocationHint*, GValue *, const GValue *, gpointer); extern GType g_type_module_register_enum(GTypeModule *, const gchar *, const GEnumValue *); extern void g_closure_unref(GClosure *); extern void g_signal_chain_from_overridden(const GValue *, GValue *); extern gboolean g_param_value_convert(GParamSpec *, const GValue *, GValue *, gboolean); extern void g_type_class_add_private(gpointer, gsize); extern gpointer g_type_interface_peek_parent(gpointer); extern void g_type_add_interface_check(gpointer, GTypeInterfaceCheckFunc); extern void g_cclosure_marshal_VOID__POINTER(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern void g_cclosure_marshal_VOID__CHAR(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern GParamSpec *g_param_spec_float(const gchar *, const gchar *, const gchar *, gfloat, gfloat, gfloat, GParamFlags); extern gboolean g_type_is_a(GType, GType); extern GParamSpec *g_param_spec_object(const gchar *, const gchar *, const gchar *, GType, GParamFlags); extern gpointer g_type_class_peek_parent(gpointer); extern GType g_io_condition_get_type(void); extern guchar g_value_get_uchar(const GValue *); extern GParamSpec *g_param_spec_double(const gchar *, const gchar *, const gchar *, gdouble, gdouble, gdouble, GParamFlags); extern GType g_strv_get_type(void); extern void g_cclosure_marshal_STRING__OBJECT_POINTER(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern gulong g_signal_handler_find(gpointer, GSignalMatchType, guint, GQuark, GClosure *, gpointer, gpointer); extern GParamSpec *g_param_spec_ref(GParamSpec *); extern gboolean g_value_transform(const GValue *, GValue *); extern gpointer g_type_class_peek_static(GType); extern GObject *g_object_new_valist(GType, const gchar *, va_list); extern void g_value_unset(GValue *); extern gpointer g_value_dup_boxed(const GValue *); extern void g_cclosure_marshal_VOID__STRING(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern void g_param_spec_sink(GParamSpec *); extern void g_object_run_dispose(GObject *); extern GParamSpec *g_param_spec_override(const gchar *, GParamSpec *); extern void g_value_set_instance(GValue *, gpointer); extern gpointer g_value_peek_pointer(const GValue *); extern GType g_type_module_register_type(GTypeModule *, GType, const gchar *, const GTypeInfo*, GTypeFlags); extern void g_signal_handlers_destroy(gpointer); extern void g_value_set_boolean(GValue *, gboolean); extern void g_type_plugin_complete_interface_info(GTypePlugin *, GType, GType, GInterfaceInfo*); extern GParamSpec *g_param_spec_get_redirect_target(GParamSpec *); extern GParamSpec **g_object_interface_list_properties(gpointer, guint *); extern gint64 g_value_get_int64(const GValue *); extern GType g_type_module_register_flags(GTypeModule *, const gchar *, const GFlagsValue *); extern void g_cclosure_marshal_BOOLEAN__FLAGS(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern gpointer g_param_spec_get_qdata(GParamSpec *, GQuark); extern void g_type_init(void); extern gulong g_value_get_ulong(const GValue *); extern gchar *g_strdup_value_contents(const GValue *); extern guint g_signal_new_valist(const gchar *, GType, GSignalFlags, GClosure *, GSignalAccumulator, gpointer, GSignalCMarshaller, GType, guint, va_list); extern void g_object_disconnect(gpointer, const gchar *, ...); extern void g_object_add_weak_pointer(GObject *, gpointer *); extern GParamSpec *g_param_spec_param(const gchar *, const gchar *, const gchar *, GType, GParamFlags); extern void g_signal_stop_emission_by_name(gpointer, const gchar *); extern GValueArray *g_value_array_sort_with_data(GValueArray *, GCompareDataFunc, gpointer); extern GType g_value_array_get_type(void); extern void g_value_take_string(GValue *, gchar *); extern GType g_closure_get_type(void); extern void g_signal_stop_emission(gpointer, guint, GQuark); extern void g_object_notify(GObject *, const gchar *); extern gfloat g_value_get_float(const GValue *); extern gchar g_value_get_char(const GValue *); extern void g_value_take_boxed(GValue *, gconstpointer); extern void g_cclosure_marshal_VOID__BOOLEAN(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern gulong g_signal_connect_data(gpointer, const gchar *, GCallback, gpointer, GClosureNotify, GConnectFlags); extern void g_object_set_data(GObject *, const gchar *, gpointer); extern GType g_type_register_fundamental(GType, const gchar *, const GTypeInfo *, const GTypeFundamentalInfo *, GTypeFlags); extern GParamSpec **g_object_class_list_properties(GObjectClass *, guint *); extern void g_cclosure_marshal_VOID__UINT_POINTER(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern void g_type_class_unref(gpointer); extern void g_cclosure_marshal_VOID__BOXED(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern gboolean g_value_type_transformable(GType, GType); extern void g_signal_handler_unblock(gpointer, gulong); extern GValue *g_value_init(GValue *, GType); extern gpointer g_object_ref(gpointer); extern void g_object_get_valist(GObject *, const gchar *, va_list); extern gboolean g_value_get_boolean(const GValue *); extern void g_type_query(GType, GTypeQuery *); extern void g_type_interface_add_prerequisite(GType, GType); extern gint g_value_get_int(const GValue *); extern void g_cclosure_marshal_VOID__ENUM(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern GType g_type_fundamental_next(void); extern gboolean g_type_check_value(GValue *); extern gpointer g_value_get_boxed(const GValue *); extern GClosure *g_signal_type_cclosure_new(GType, guint); extern void g_value_set_static_boxed(GValue *, gconstpointer); extern GType g_type_plugin_get_type(void); extern GType *g_type_interface_prerequisites(GType, guint *); extern void g_boxed_free(GType, gpointer); extern GParamSpec *g_param_spec_uint64(const gchar *, const gchar *, const gchar *, guint64, guint64, guint64, GParamFlags); extern GType g_type_next_base(GType, GType); extern const gchar *g_type_name_from_instance(GTypeInstance *); extern const gchar *g_param_spec_get_name(GParamSpec *); extern gulong g_signal_add_emission_hook(guint, GQuark, GSignalEmissionHook, gpointer, GDestroyNotify); extern GParamSpec *g_object_class_find_property(GObjectClass *, const gchar *); extern void g_value_set_long(GValue *, glong); extern void g_param_spec_pool_remove(GParamSpecPool *, GParamSpec *); extern void g_signal_emitv(const GValue *, guint, GQuark, GValue *); extern GType g_type_module_get_type(void); extern GObject *g_value_dup_object(const GValue *); extern void g_flags_complete_type_info(GType, GTypeInfo *, const GFlagsValue *); extern gulong g_signal_connect_closure_by_id(gpointer, guint, GQuark, GClosure *, gboolean); extern GType g_value_get_type(void); extern gulong g_signal_connect_closure(gpointer, const gchar *, GClosure *, gboolean); extern gulong g_signal_connect_object(gpointer, const gchar *, GCallback, gpointer, GConnectFlags); extern void g_value_take_param(GValue *, GParamSpec *); extern void g_value_set_ulong(GValue *, gulong); extern void g_value_register_transform_func(GType, GType, GValueTransform); extern GType g_type_parent(GType); extern void g_type_plugin_use(GTypePlugin *); extern GType g_type_register_dynamic(GType, const gchar *, GTypePlugin *, GTypeFlags); extern GType g_pointer_type_register_static(const gchar *); extern void g_closure_add_finalize_notifier(GClosure *, gpointer, GClosureNotify); extern GFlagsValue *g_flags_get_value_by_name(GFlagsClass *, const gchar *); extern void g_cclosure_marshal_VOID__PARAM(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern gboolean g_signal_handler_is_connected(gpointer, gulong); extern void g_closure_set_meta_marshal(GClosure *, gpointer, GClosureMarshal); extern void g_value_set_uchar(GValue *, guchar); extern GValueArray *g_value_array_prepend(GValueArray *, const GValue *); extern void g_source_set_closure(GSource *, GClosure *); extern GParamSpec **g_param_spec_pool_list(GParamSpecPool *, GType, guint *); extern GQuark g_type_qname(GType); extern gboolean g_type_module_use(GTypeModule *); extern void g_type_add_interface_dynamic(GType, GType, GTypePlugin *); extern gpointer g_type_class_ref(GType); extern void g_closure_remove_finalize_notifier(GClosure *, gpointer, GClosureNotify); extern gpointer g_object_connect(gpointer, const gchar *, ...); extern void g_type_remove_class_cache_func(gpointer, GTypeClassCacheFunc); extern gpointer g_object_newv(GType, guint, GParameter *); extern GValueArray *g_value_array_insert(GValueArray *, guint, const GValue *); extern gboolean g_signal_has_handler_pending(gpointer, guint, GQuark, gboolean); extern guint g_signal_lookup(const gchar *, GType); extern void g_type_free_instance(GTypeInstance *); extern void g_closure_invoke(GClosure *, GValue *, guint, const GValue *, gpointer); extern GType g_type_fundamental(GType); extern GTypeValueTable *g_type_value_table_peek(GType); extern GList *g_param_spec_pool_list_owned(GParamSpecPool *, GType); extern void g_value_set_enum(GValue *, gint); extern gchar *g_value_dup_string(const GValue *); extern void g_signal_handler_disconnect(gpointer, gulong); extern GType g_param_type_register_static(const gchar *, const GParamSpecTypeInfo *); extern void g_object_remove_weak_pointer(GObject *, gpointer *); extern glong g_value_get_long(const GValue *); extern gboolean g_type_check_is_value_type(GType); extern void g_value_set_double(GValue *, gdouble); extern void g_value_set_static_string(GValue *, const gchar *); extern const gchar *g_param_spec_get_nick(GParamSpec *); extern GClosure *g_cclosure_new(GCallback, gpointer, GClosureNotify); extern guint g_value_get_uint(const GValue *); extern GClosure *g_cclosure_new_swap(GCallback, gpointer, GClosureNotify); extern GValue *g_value_reset(GValue *); extern void g_object_set_qdata(GObject *, GQuark, gpointer); extern gpointer g_object_get_data(GObject *, const gchar *); extern gpointer g_object_get_qdata(GObject *, GQuark); extern void g_object_set_valist(GObject *, const gchar *, va_list); extern void g_object_freeze_notify(GObject *); extern void g_value_set_pointer(GValue *, gpointer); extern gpointer g_object_steal_data(GObject *, const gchar *); extern void g_object_interface_install_property(gpointer, GParamSpec *); extern void g_object_watch_closure(GObject *, GClosure *); extern void g_value_take_object(GValue *, gpointer); extern GValueArray *g_value_array_new(guint); extern GParamSpec *g_value_get_param(const GValue *); extern void g_param_value_set_default(GParamSpec *, GValue *); extern void g_closure_add_marshal_guards(GClosure *, gpointer, GClosureNotify, gpointer, GClosureNotify); extern gdouble g_value_get_double(const GValue *); extern GValue *g_value_array_get_nth(GValueArray *, guint); extern GTypePlugin *g_type_interface_get_plugin(GType, GType); extern void g_object_weak_ref(GObject *, GWeakNotify, gpointer); extern GType g_gstring_get_type(void); extern void g_value_set_flags(GValue *, guint); extern void g_object_get_property(GObject *, const gchar *, GValue *); extern GParamSpec *g_param_spec_unichar(const gchar *, const gchar *, const gchar *, gunichar, GParamFlags); extern void g_type_default_interface_unref(gpointer); extern GParamSpec *g_param_spec_uchar(const gchar *, const gchar *, const gchar *, guint8, guint8, guint8, GParamFlags); extern void g_object_set_qdata_full(GObject *, GQuark, gpointer, GDestroyNotify); extern void g_type_set_qdata(GType, GQuark, gpointer); extern void g_value_set_string(GValue *, const gchar *); extern gpointer g_type_class_peek(GType); extern void g_value_set_boxed(GValue *, gconstpointer); extern void g_type_module_set_name(GTypeModule *, const gchar *); extern GClosure *g_closure_ref(GClosure *); extern guint g_signal_handlers_unblock_matched(gpointer, GSignalMatchType, guint, GQuark, GClosure *, gpointer, gpointer); extern GParamSpec *g_param_spec_value_array(const gchar *, const gchar *, const gchar *, GParamSpec *, GParamFlags); extern GParamSpec *g_param_spec_enum(const gchar *, const gchar *, const gchar *, GType, gint, GParamFlags); extern void g_param_spec_set_qdata_full(GParamSpec *, GQuark, gpointer, GDestroyNotify); extern GParamSpec *g_param_spec_ulong(const gchar *, const gchar *, const gchar *, gulong, gulong, gulong, GParamFlags); extern guint g_value_get_flags(const GValue *); extern void g_type_module_add_interface(GTypeModule *, GType, GType, const GInterfaceInfo *); extern gboolean g_type_check_instance(GTypeInstance *); extern GValueArray *g_value_array_append(GValueArray *, const GValue *); extern void g_type_add_interface_static(GType, GType, const GInterfaceInfo *); extern gpointer g_param_spec_steal_qdata(GParamSpec *, GQuark); extern gboolean g_type_check_class_is_a(GTypeClass *, GType); extern const gchar *g_param_spec_get_blurb(GParamSpec *); extern void g_value_set_uint(GValue *, guint); extern GParamSpecPool *g_param_spec_pool_new(gboolean); extern const gchar *g_signal_name(guint); extern GParamSpec *g_param_spec_int64(const gchar *, const gchar *, const gchar *, gint64, gint64, gint64, GParamFlags); extern guint g_signal_newv(const gchar *, GType, GSignalFlags, GClosure*, GSignalAccumulator, gpointer, GSignalCMarshaller, GType, guint, GType *); extern guint g_signal_new(const gchar *, GType, GSignalFlags, guint, GSignalAccumulator, gpointer, GSignalCMarshaller, GType, guint, ...); extern GType g_boxed_type_register_static(const gchar *, GBoxedCopyFunc, GBoxedFreeFunc); extern void g_value_array_free(GValueArray *); extern void g_cclosure_marshal_VOID__ULONG(GClosure *, GValue *, guint, const GValue *, gpointer, gpointer); extern void g_signal_remove_emission_hook(guint, gulong); extern void g_enum_complete_type_info(GType, GTypeInfo *, const GEnumValue *); extern gpointer g_value_get_object(const GValue *); extern gpointer g_type_default_interface_peek(GType); extern void g_signal_query(guint, GSignalQuery *); extern gboolean g_type_check_instance_is_a(GTypeInstance *, GType); __________________________________________________________ 15.5.2. glib-2.0/gobject/gvaluecollector.h #define G_VALUE_LCOPY(value,var_args,flags,__error) \ G_STMT_START { const GValue *_value = (value); guint _flags = \ (flags); GType _value_type = G_VALUE_TYPE (_value); GTypeValueTable \ *_vtable = g_type_value_table_peek (_value_type); gchar *_lcopy_format \ = _vtable->lcopy_format; GTypeCValue \ _cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, }; guint \ _n_values = 0; while (*_lcopy_format) { GTypeCValue *_cvalue = \ _cvalues + _n_values++; switch (*_lcopy_format++) { case \ G_VALUE_COLLECT_INT: _cvalue->v_int = va_arg ((var_args), gint); \ break; case G_VALUE_COLLECT_LONG: _cvalue->v_long = va_arg \ ((var_args), glong); break; case G_VALUE_COLLECT_INT64: \ _cvalue->v_int64 = va_arg ((var_args), gint64); break; case \ G_VALUE_COLLECT_DOUBLE: _cvalue->v_double = va_arg ((var_args),\ gdouble); break; case G_VALUE_COLLECT_POINTER: _cvalue->v_pointer = \ va_arg ((var_args), gpointer); break; default: g_assert_not_reached \ (); } } *(__error) = _vtable->lcopy_value (_value, _n_values, \ _cvalues, _flags); } G_STMT_END #define G_VALUE_COLLECT(value,var_args,flags,__error) \ G_STMT_START { GValue *_value = (value); guint _flags = (flags); \ GType _value_type = G_VALUE_TYPE (_value); GTypeValueTable *_vtable = \ g_type_value_table_peek (_value_type); gchar *_collect_format =\ _vtable->collect_format; GTypeCValue \ _cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, }; guint \ _n_values = 0; if (_vtable->value_free) _vtable->value_free (_value); \ _value->g_type = _value_type; memset (_value->data, 0, sizeof \ (_value->data)); while (*_collect_format) { GTypeCValue *_cvalue = \ _cvalues + _n_values++; switch (*_collect_format++) { case \ G_VALUE_COLLECT_INT: _cvalue->v_int = va_arg ((var_args), gint); \ break; case G_VALUE_COLLECT_LONG: _cvalue->v_long = va_arg \ ((var_args), glong); break; case G_VALUE_COLLECT_INT64: \ _cvalue->v_int64 = va_arg ((var_args), gint64); break; case \ G_VALUE_COLLECT_DOUBLE: _cvalue->v_double = va_arg ((var_args),\ gdouble); break; case G_VALUE_COLLECT_POINTER: _cvalue->v_pointer = \ va_arg ((var_args), gpointer); break; default: g_assert_not_reached \ (); } } *(__error) = _vtable->collect_value (_value, _n_values,\ _cvalues, _flags); } G_STMT_END #define G_VALUE_COLLECT_FORMAT_MAX_LENGTH (8) enum { G_VALUE_COLLECT_INT = 'i', G_VALUE_COLLECT_LONG = 'l', G_VALUE_COLLECT_INT64 = 'q', G_VALUE_COLLECT_DOUBLE = 'd', G_VALUE_COLLECT_POINTER = 'p' }; __________________________________________________________ 15.6. Interfaces for libgmodule-2.0 Table 15-57 defines the library name and shared object name for the libgmodule-2.0 library Table 15-57. libgmodule-2.0 Definition Library: libgmodule-2.0 SONAME: libgmodule-2.0.so.0 The behavior of the interfaces in this library is specified by the following specifications: [Glib] Glib 2.6.2 Reference Manual __________________________________________________________ 15.6.1. Glib-Dynamic loading of Modules __________________________________________________________ 15.6.1.1. Interfaces for Glib-Dynamic loading of Modules An LSB conforming implementation shall provide the generic functions for Glib-Dynamic loading of Modules specified in Table 15-58, with the full mandatory functionality as described in the referenced underlying specification. Table 15-58. libgmodule-2.0 - Glib-Dynamic loading of Modules Function Interfaces g_module_build_path [Glib] g_module_close [Glib] g_module_error [Glib] g_module_make_resident [Glib] g_module_name [Glib] g_module_open [Glib] g_module_supported [Glib] g_module_symbol [Glib] __________________________________________________________ 15.7. Data Definitions for libgmodule-2.0 This section defines global identifiers and their values that are associated with interfaces contained in libgmodule-2.0. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 15.7.1. glib-2.0/gmodule.h #define G_MODULE_EXPORT #define G_MODULE_IMPORT extern typedef struct _GModule GModule; typedef enum { G_MODULE_BIND_LAZY = 1, G_MODULE_BIND_LOCAL = 2, G_MODULE_BIND_MASK = 3 } GModuleFlags; typedef void (*GModuleUnload) (GModule *); typedef const gchar *(*GModuleCheckInit) (GModule *); extern void g_module_make_resident(GModule *); extern gchar *g_module_build_path(const gchar *, const gchar *); extern gboolean g_module_close(GModule *); extern GModule *g_module_open(const gchar *, GModuleFlags); extern gboolean g_module_symbol(GModule *, const gchar *, gpointer *); extern const gchar *g_module_error(void); extern const gchar *g_module_name(GModule *); extern gboolean g_module_supported(void); __________________________________________________________ 15.8. Interfaces for libgthread-2.0 Table 15-59 defines the library name and shared object name for the libgthread-2.0 library Table 15-59. libgthread-2.0 Definition Library: libgthread-2.0 SONAME: libgthread-2.0.so.0 The behavior of the interfaces in this library is specified by the following specifications: [Glib] Glib 2.6.2 Reference Manual __________________________________________________________ 15.8.1. Glib thread abstraction __________________________________________________________ 15.8.1.1. Interfaces for Glib thread abstraction An LSB conforming implementation shall provide the generic functions for Glib thread abstraction specified in Table 15-60, with the full mandatory functionality as described in the referenced underlying specification. Table 15-60. libgthread-2.0 - Glib thread abstraction Function Interfaces g_thread_init [Glib] g_thread_init_with_errorcheck_mutexes [Glib] __________________________________________________________ 15.9. Interfaces for libatk-1.0 Table 15-61 defines the library name and shared object name for the libatk-1.0 library Table 15-61. libatk-1.0 Definition Library: libatk-1.0 SONAME: libatk-1.0.so.0 The behavior of the interfaces in this library is specified by the following specifications: [ATK] ATK 1.9.0 Reference Manual __________________________________________________________ 15.9.1. GTK Accessibility Toolkit __________________________________________________________ 15.9.1.1. Interfaces for GTK Accessibility Toolkit An LSB conforming implementation shall provide the generic functions for GTK Accessibility Toolkit specified in Table 15-62, with the full mandatory functionality as described in the referenced underlying specification. Table 15-62. libatk-1.0 - GTK Accessibility Toolkit Function Interfaces atk_action_do_action [ATK] atk_action_get_description [ATK] atk_action_get_keybinding [ATK] atk_action_get_localized_name [ATK] atk_action_get_n_actions [ATK] atk_action_get_name [ATK] atk_action_get_type [ATK] atk_action_set_description [ATK] atk_add_focus_tracker [ATK] atk_add_global_event_listener [ATK] atk_add_key_event_listener [ATK] atk_attribute_set_free [ATK] atk_component_add_focus_handler [ATK] atk_component_contains [ATK] atk_component_get_extents [ATK] atk_component_get_layer [ATK] atk_component_get_mdi_zorder [ATK] atk_component_get_position [ATK] atk_component_get_size [ATK] atk_component_get_type [ATK] atk_component_grab_focus [ATK] atk_component_ref_accessible_at_point [ATK] atk_component_remove_focus_handler [ATK] atk_component_set_extents [ATK] atk_component_set_position [ATK] atk_component_set_size [ATK] atk_coord_type_get_type [ATK] atk_document_get_document [ATK] atk_document_get_document_type [ATK] atk_document_get_type [ATK] atk_editable_text_copy_text [ATK] atk_editable_text_cut_text [ATK] atk_editable_text_delete_text [ATK] atk_editable_text_get_type [ATK] atk_editable_text_insert_text [ATK] atk_editable_text_paste_text [ATK] atk_editable_text_set_run_attributes [ATK] atk_editable_text_set_text_contents [ATK] atk_focus_tracker_init [ATK] atk_focus_tracker_notify [ATK] atk_get_default_registry [ATK] atk_get_focus_object [ATK] atk_get_root [ATK] atk_get_toolkit_name [ATK] atk_get_toolkit_version [ATK] atk_gobject_accessible_for_object [ATK] atk_gobject_accessible_get_object [ATK] atk_gobject_accessible_get_type [ATK] atk_hyperlink_get_end_index [ATK] atk_hyperlink_get_n_anchors [ATK] atk_hyperlink_get_object [ATK] atk_hyperlink_get_start_index [ATK] atk_hyperlink_get_type [ATK] atk_hyperlink_get_uri [ATK] atk_hyperlink_is_inline [ATK] atk_hyperlink_is_selected_link [ATK] atk_hyperlink_is_valid [ATK] atk_hyperlink_state_flags_get_type [ATK] atk_hypertext_get_link [ATK] atk_hypertext_get_link_index [ATK] atk_hypertext_get_n_links [ATK] atk_hypertext_get_type [ATK] atk_image_get_image_description [ATK] atk_image_get_image_position [ATK] atk_image_get_image_size [ATK] atk_image_get_type [ATK] atk_image_set_image_description [ATK] atk_implementor_get_type [ATK] atk_implementor_ref_accessible [ATK] atk_key_event_type_get_type [ATK] atk_layer_get_type [ATK] atk_no_op_object_factory_get_type [ATK] atk_no_op_object_factory_new [ATK] atk_no_op_object_get_type [ATK] atk_no_op_object_new [ATK] atk_object_add_relationship [ATK] atk_object_connect_property_change_handler [ATK] atk_object_factory_create_accessible [ATK] atk_object_factory_get_accessible_type [ATK] atk_object_factory_get_type [ATK] atk_object_factory_invalidate [ATK] atk_object_get_description [ATK] atk_object_get_index_in_parent [ATK] atk_object_get_n_accessible_children [ATK] atk_object_get_name [ATK] atk_object_get_parent [ATK] atk_object_get_role [ATK] atk_object_get_type [ATK] atk_object_initialize [ATK] atk_object_notify_state_change [ATK] atk_object_ref_accessible_child [ATK] atk_object_ref_relation_set [ATK] atk_object_ref_state_set [ATK] atk_object_remove_property_change_handler [ATK] atk_object_remove_relationship [ATK] atk_object_set_description [ATK] atk_object_set_name [ATK] atk_object_set_parent [ATK] atk_object_set_role [ATK] atk_rectangle_get_type [ATK] atk_registry_get_factory [ATK] atk_registry_get_factory_type [ATK] atk_registry_get_type [ATK] atk_registry_set_factory_type [ATK] atk_relation_add_target [ATK] atk_relation_get_relation_type [ATK] atk_relation_get_target [ATK] atk_relation_get_type [ATK] atk_relation_new [ATK] atk_relation_set_add [ATK] atk_relation_set_add_relation_by_type [ATK] atk_relation_set_contains [ATK] atk_relation_set_get_n_relations [ATK] atk_relation_set_get_relation [ATK] atk_relation_set_get_relation_by_type [ATK] atk_relation_set_get_type [ATK] atk_relation_set_new [ATK] atk_relation_set_remove [ATK] atk_relation_type_for_name [ATK] atk_relation_type_get_name [ATK] atk_relation_type_get_type [ATK] atk_relation_type_register [ATK] atk_remove_focus_tracker [ATK] atk_remove_global_event_listener [ATK] atk_remove_key_event_listener [ATK] atk_role_for_name [ATK] atk_role_get_localized_name [ATK] atk_role_get_name [ATK] atk_role_get_type [ATK] atk_role_register [ATK] atk_selection_add_selection [ATK] atk_selection_clear_selection [ATK] atk_selection_get_selection_count [ATK] atk_selection_get_type [ATK] atk_selection_is_child_selected [ATK] atk_selection_ref_selection [ATK] atk_selection_remove_selection [ATK] atk_selection_select_all_selection [ATK] atk_state_set_add_state [ATK] atk_state_set_add_states [ATK] atk_state_set_and_sets [ATK] atk_state_set_clear_states [ATK] atk_state_set_contains_state [ATK] atk_state_set_contains_states [ATK] atk_state_set_get_type [ATK] atk_state_set_is_empty [ATK] atk_state_set_new [ATK] atk_state_set_or_sets [ATK] atk_state_set_remove_state [ATK] atk_state_set_xor_sets [ATK] atk_state_type_for_name [ATK] atk_state_type_get_name [ATK] atk_state_type_get_type [ATK] atk_state_type_register [ATK] atk_streamable_content_get_mime_type [ATK] atk_streamable_content_get_n_mime_types [ATK] atk_streamable_content_get_stream [ATK] atk_streamable_content_get_type [ATK] atk_table_add_column_selection [ATK] atk_table_add_row_selection [ATK] atk_table_get_caption [ATK] atk_table_get_column_at_index [ATK] atk_table_get_column_description [ATK] atk_table_get_column_extent_at [ATK] atk_table_get_column_header [ATK] atk_table_get_index_at [ATK] atk_table_get_n_columns [ATK] atk_table_get_n_rows [ATK] atk_table_get_row_at_index [ATK] atk_table_get_row_description [ATK] atk_table_get_row_extent_at [ATK] atk_table_get_row_header [ATK] atk_table_get_selected_columns [ATK] atk_table_get_selected_rows [ATK] atk_table_get_summary [ATK] atk_table_get_type [ATK] atk_table_is_column_selected [ATK] atk_table_is_row_selected [ATK] atk_table_is_selected [ATK] atk_table_ref_at [ATK] atk_table_remove_column_selection [ATK] atk_table_remove_row_selection [ATK] atk_table_set_caption [ATK] atk_table_set_column_description [ATK] atk_table_set_column_header [ATK] atk_table_set_row_description [ATK] atk_table_set_row_header [ATK] atk_table_set_summary [ATK] atk_text_add_selection [ATK] atk_text_attribute_for_name [ATK] atk_text_attribute_get_name [ATK] atk_text_attribute_get_type [ATK] atk_text_attribute_get_value [ATK] atk_text_attribute_register [ATK] atk_text_boundary_get_type [ATK] atk_text_clip_type_get_type [ATK] atk_text_free_ranges [ATK] atk_text_get_bounded_ranges [ATK] atk_text_get_caret_offset [ATK] atk_text_get_character_at_offset [ATK] atk_text_get_character_count [ATK] atk_text_get_character_extents [ATK] atk_text_get_default_attributes [ATK] atk_text_get_n_selections [ATK] atk_text_get_offset_at_point [ATK] atk_text_get_range_extents [ATK] atk_text_get_run_attributes [ATK] atk_text_get_selection [ATK] atk_text_get_text [ATK] atk_text_get_text_after_offset [ATK] atk_text_get_text_at_offset [ATK] atk_text_get_text_before_offset [ATK] atk_text_get_type [ATK] atk_text_remove_selection [ATK] atk_text_set_caret_offset [ATK] atk_text_set_selection [ATK] atk_util_get_type [ATK] atk_value_get_current_value [ATK] atk_value_get_maximum_value [ATK] atk_value_get_minimum_value [ATK] atk_value_get_type [ATK] atk_value_set_current_value [ATK] __________________________________________________________ 15.10. Data Definitions for libatk-1.0 This section defines global identifiers and their values that are associated with interfaces contained in libatk-1.0. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 15.10.1. atk-1.0/atk/atk-enum-types.h #define ATK_TYPE_HYPERLINK_STATE_FLAGS \ (atk_hyperlink_state_flags_get_type()) #define ATK_TYPE_COORD_TYPE (atk_coord_type_get_type()) #define ATK_TYPE_KEY_EVENT_TYPE (atk_key_event_type_get_type()) #define ATK_TYPE_LAYER (atk_layer_get_type()) #define ATK_TYPE_RELATION_TYPE (atk_relation_type_get_type()) #define ATK_TYPE_ROLE (atk_role_get_type()) #define ATK_TYPE_STATE_TYPE (atk_state_type_get_type()) #define ATK_TYPE_TEXT_ATTRIBUTE (atk_text_attribute_get_type()) #define ATK_TYPE_TEXT_BOUNDARY (atk_text_boundary_get_type()) #define ATK_TYPE_TEXT_CLIP_TYPE (atk_text_clip_type_get_type()) extern GType atk_state_type_get_type(void); extern GType atk_role_get_type(void); extern GType atk_text_boundary_get_type(void); extern GType atk_relation_type_get_type(void); extern GType atk_layer_get_type(void); extern GType atk_hyperlink_state_flags_get_type(void); extern GType atk_text_clip_type_get_type(void); extern GType atk_key_event_type_get_type(void); extern GType atk_coord_type_get_type(void); extern GType atk_text_attribute_get_type(void); __________________________________________________________ 15.10.2. atk-1.0/atk/atk.h #define _TYPEDEF_ATK_ACTION_ #define _TYPEDEF_ATK_COMPONENT_ #define _TYPEDEF_ATK_DOCUMENT_ #define _TYPEDEF_ATK_EDITABLE_TEXT_ #define _TYPEDEF_ATK_HYPERTEXT_ #define _TYPEDEF_ATK_IMAGE_ #define _TYPEDEF_ATK_SELECTION_ #define _TYPEDEF_ATK_STREAMABLE_CONTENT #define _TYPEDEF_ATK_TABLE_ #define _TYPEDEF_ATK_TEXT_ #define _TYPEDEF_ATK_UTIL_ #define _TYPEDEF_ATK_VALUE__ #define ATK_TYPE_NO_OP_OBJECT_FACTORY \ (atk_no_op_object_factory_get_type ()) #define ATK_GOBJECT_ACCESSIBLE_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_GOBJECT_ACCESSIBLE,\ AtkGObjectAccessibleClass)) #define ATK_HYPERLINK_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_HYPERLINK, \ AtkHyperlinkClass)) #define ATK_NO_OP_OBJECT_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_NO_OP_OBJECT, \ AtkNoOpObjectClass)) #define ATK_NO_OP_OBJECT_FACTORY_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_NO_OP_OBJECT_FACTORY, \ AtkNoOpObjectFactoryClass)) #define ATK_OBJECT_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_OBJECT, AtkObjectClass)) #define ATK_OBJECT_FACTORY_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_OBJECT_FACTORY, \ AtkObjectFactoryClass)) #define ATK_REGISTRY_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_REGISTRY, \ AtkRegistryClass)) #define ATK_RELATION_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_RELATION, \ AtkRelationClass)) #define ATK_RELATION_SET_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_RELATION_SET, \ AtkRelationSetClass)) #define ATK_STATE_SET_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_STATE_SET, \ AtkStateSetClass)) #define ATK_UTIL_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_UTIL, AtkUtilClass)) #define ATK_IS_GOBJECT_ACCESSIBLE_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_GOBJECT_ACCESSIBLE)) #define ATK_IS_HYPERLINK_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_HYPERLINK)) #define ATK_IS_NO_OP_OBJECT_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_NO_OP_OBJECT)) #define ATK_IS_NO_OP_OBJECT_FACTORY_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_NO_OP_OBJECT_FACTORY)) #define ATK_IS_OBJECT_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_OBJECT)) #define ATK_IS_OBJECT_FACTORY_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_OBJECT_FACTORY)) #define ATK_IS_REGISTRY_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_REGISTRY)) #define ATK_IS_RELATION_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_RELATION)) #define ATK_IS_RELATION_SET_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_RELATION_SET)) #define ATK_IS_STATE_SET_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_STATE_SET)) #define ATK_IS_UTIL_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_UTIL)) #define ATK_GOBJECT_ACCESSIBLE(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_GOBJECT_ACCESSIBLE, \ AtkGObjectAccessible)) #define ATK_HYPERLINK(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_HYPERLINK, \ AtkHyperlink)) #define ATK_NO_OP_OBJECT(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_NO_OP_OBJECT, \ AtkNoOpObject)) #define ATK_NO_OP_OBJECT_FACTORY(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_NO_OP_OBJECT_FACTORY, \ AtkNoOpObjectFactory)) #define ATK_OBJECT(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_OBJECT, AtkObject)) #define ATK_OBJECT_FACTORY(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_OBJECT_FACTORY, \ AtkObjectFactory)) #define ATK_REGISTRY(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_REGISTRY, AtkRegistry)) #define ATK_RELATION(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_RELATION, AtkRelation)) #define ATK_RELATION_SET(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_RELATION_SET, \ AtkRelationSet)) #define ATK_STATE_SET(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_STATE_SET, AtkStateSet)) #define ATK_IS_GOBJECT_ACCESSIBLE(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_GOBJECT_ACCESSIBLE)) #define ATK_IS_HYPERLINK(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_HYPERLINK)) #define ATK_IS_NO_OP_OBJECT(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_NO_OP_OBJECT)) #define ATK_IS_NO_OP_OBJECT_FACTORY(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_NO_OP_OBJECT_FACTORY)) #define ATK_IS_OBJECT(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_OBJECT)) #define ATK_IS_OBJECT_FACTORY(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_OBJECT_FACTORY)) #define ATK_IS_REGISTRY(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_REGISTRY)) #define ATK_IS_RELATION(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_RELATION)) #define ATK_IS_RELATION_SET(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_RELATION_SET)) #define ATK_IS_STATE_SET(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_STATE_SET)) #define ATK_NO_OP_OBJECT_FACTORY_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ( (obj), ATK_TYPE_NO_OP_OBJECT_FACTORY, \ AtkNoOpObjectFactoryClass)) #define ATK_GOBJECT_ACCESSIBLE_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_GOBJECT_ACCESSIBLE,\ AtkGObjectAccessibleClass)) #define ATK_HYPERLINK_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_HYPERLINK, \ AtkHyperlinkClass)) #define ATK_NO_OP_OBJECT_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_NO_OP_OBJECT, \ AtkNoOpObjectClass)) #define ATK_OBJECT_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_OBJECT, AtkObjectClass)) #define ATK_OBJECT_FACTORY_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_OBJECT_FACTORY, \ AtkObjectFactoryClass)) #define ATK_REGISTRY_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_REGISTRY, \ AtkRegistryClass)) #define ATK_RELATION_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_RELATION, \ AtkRelationClass)) #define ATK_RELATION_SET_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_RELATION_SET, \ AtkRelationSetClass)) #define ATK_STATE_SET_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_STATE_SET, \ AtkStateSetClass)) #define ATK_UTIL_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_UTIL, AtkUtilClass)) #define ATK_ACTION_GET_IFACE(obj) \ (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_ACTION, \ AtkActionIface)) #define ATK_COMPONENT_GET_IFACE(obj) \ (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_COMPONENT, \ AtkComponentIface)) #define ATK_DOCUMENT_GET_IFACE(obj) \ (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_DOCUMENT, \ AtkDocumentIface)) #define ATK_EDITABLE_TEXT_GET_IFACE(obj) \ (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_EDITABLE_TEXT, \ AtkEditableTextIface)) #define ATK_HYPERTEXT_GET_IFACE(obj) \ (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_HYPERTEXT, \ AtkHypertextIface)) #define ATK_IMAGE_GET_IFACE(obj) \ (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_IMAGE, \ AtkImageIface)) #define ATK_IMPLEMENTOR_GET_IFACE(obj) \ (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_IMPLEMENTOR, \ AtkImplementorIface)) #define ATK_SELECTION_GET_IFACE(obj) \ (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_SELECTION, \ AtkSelectionIface)) #define ATK_STREAMABLE_CONTENT_GET_IFACE(obj) \ (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_STREAMABLE_CONTENT, \ AtkStreamableContentIface)) #define ATK_TABLE_GET_IFACE(obj) \ (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_TABLE, \ AtkTableIface)) #define ATK_TEXT_GET_IFACE(obj) \ (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_TEXT, AtkTextIface)) #define ATK_VALUE_GET_IFACE(obj) \ (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_VALUE, \ AtkValueIface)) #define ATK_ACTION(obj) \ G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_ACTION, AtkAction) #define ATK_COMPONENT(obj) \ G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_COMPONENT, AtkComponent) #define ATK_DOCUMENT(obj) \ G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_DOCUMENT, AtkDocument) #define ATK_EDITABLE_TEXT(obj) \ G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_EDITABLE_TEXT, \ AtkEditableText) #define ATK_HYPERTEXT(obj) \ G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_HYPERTEXT, AtkHypertext) #define ATK_IMAGE(obj) \ G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_IMAGE, AtkImage) #define ATK_IMPLEMENTOR(obj) \ G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_IMPLEMENTOR, \ AtkImplementor) #define ATK_SELECTION(obj) \ G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_SELECTION, AtkSelection) #define ATK_STREAMABLE_CONTENT(obj) \ G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_STREAMABLE_CONTENT,\ AtkStreamableContent) #define ATK_TABLE(obj) \ G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_TABLE, AtkTable) #define ATK_TEXT(obj) \ G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_TEXT, AtkText) #define ATK_UTIL(obj) \ G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_UTIL, AtkUtil) #define ATK_VALUE(obj) \ G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_VALUE, AtkValue) #define ATK_IS_ACTION(obj) \ G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_ACTION) #define ATK_IS_COMPONENT(obj) \ G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_COMPONENT) #define ATK_IS_DOCUMENT(obj) \ G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_DOCUMENT) #define ATK_IS_EDITABLE_TEXT(obj) \ G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_EDITABLE_TEXT) #define ATK_IS_HYPERTEXT(obj) \ G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_HYPERTEXT) #define ATK_IS_IMAGE(obj) \ G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_IMAGE) #define ATK_IS_IMPLEMENTOR(obj) \ G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_IMPLEMENTOR) #define ATK_IS_SELECTION(obj) \ G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_SELECTION) #define ATK_IS_STREAMABLE_CONTENT(obj) \ G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_STREAMABLE_CONTENT) #define ATK_IS_TABLE(obj) \ G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_TABLE) #define ATK_IS_VALUE(obj) \ G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_VALUE) #define ATK_TYPE_ACTION (atk_action_get_type ()) #define ATK_TYPE_COMPONENT (atk_component_get_type ()) #define ATK_TYPE_DOCUMENT (atk_document_get_type ()) #define ATK_TYPE_EDITABLE_TEXT (atk_editable_text_get_type ()) #define ATK_TYPE_GOBJECT_ACCESSIBLE (atk_gobject_accessible_get_type ()) #define ATK_TYPE_HYPERLINK (atk_hyperlink_get_type ()) #define ATK_TYPE_HYPERTEXT (atk_hypertext_get_type ()) #define ATK_TYPE_IMAGE (atk_image_get_type ()) #define ATK_TYPE_IMPLEMENTOR (atk_implementor_get_type ()) #define ATK_TYPE_NO_OP_OBJECT (atk_no_op_object_get_type ()) #define ATK_TYPE_OBJECT_FACTORY (atk_object_factory_get_type ()) #define ATK_TYPE_OBJECT (atk_object_get_type ()) #define ATK_TYPE_RECTANGLE (atk_rectangle_get_type ()) #define ATK_TYPE_REGISTRY (atk_registry_get_type ()) #define ATK_TYPE_RELATION (atk_relation_get_type ()) #define ATK_TYPE_RELATION_SET (atk_relation_set_get_type ()) #define ATK_TYPE_SELECTION (atk_selection_get_type ()) #define ATK_TYPE_STATE_SET (atk_state_set_get_type ()) #define ATK_TYPE_STREAMABLE_CONTENT (atk_streamable_content_get_type ()) #define ATK_TYPE_TABLE (atk_table_get_type ()) #define ATK_TYPE_TEXT (atk_text_get_type ()) #define ATK_TYPE_UTIL (atk_util_get_type ()) #define ATK_TYPE_VALUE (atk_value_get_type ()) #define ATK_IS_TEXT(obj) G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_TEXT) #define ATK_IS_UTIL(obj) G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_UTIL) typedef struct _AtkText AtkText; typedef struct _AtkObject { GObject parent; gchar *description; gchar *name; AtkObject *accessible_parent; AtkRole role; AtkRelationSet *relation_set; AtkLayer layer; } AtkObject; typedef enum { ATK_ROLE_INVALID = 0, ATK_ROLE_ACCEL_LABEL = 1, ATK_ROLE_ALERT = 2, ATK_ROLE_ANIMATION = 3, ATK_ROLE_ARROW = 4, ATK_ROLE_CALENDAR = 5, ATK_ROLE_CANVAS = 6, ATK_ROLE_CHECK_BOX = 7, ATK_ROLE_CHECK_MENU_ITEM = 8, ATK_ROLE_COLOR_CHOOSER = 9, ATK_ROLE_COLUMN_HEADER = 10, ATK_ROLE_COMBO_BOX = 11, ATK_ROLE_DATE_EDITOR = 12, ATK_ROLE_DESKTOP_ICON = 13, ATK_ROLE_DESKTOP_FRAME = 14, ATK_ROLE_DIAL = 15, ATK_ROLE_DIALOG = 16, ATK_ROLE_DIRECTORY_PANE = 17, ATK_ROLE_DRAWING_AREA = 18, ATK_ROLE_FILE_CHOOSER = 19, ATK_ROLE_FILLER = 20, ATK_ROLE_FONT_CHOOSER = 21, ATK_ROLE_FRAME = 22, ATK_ROLE_GLASS_PANE = 23, ATK_ROLE_HTML_CONTAINER = 24, ATK_ROLE_ICON = 25, ATK_ROLE_IMAGE = 26, ATK_ROLE_INTERNAL_FRAME = 27, ATK_ROLE_LABEL = 28, ATK_ROLE_LAYERED_PANE = 29, ATK_ROLE_LIST = 30, ATK_ROLE_LIST_ITEM = 31, ATK_ROLE_MENU = 32, ATK_ROLE_MENU_BAR = 33, ATK_ROLE_MENU_ITEM = 34, ATK_ROLE_OPTION_PANE = 35, ATK_ROLE_PAGE_TAB = 36, ATK_ROLE_PAGE_TAB_LIST = 37, ATK_ROLE_PANEL = 38, ATK_ROLE_PASSWORD_TEXT = 39, ATK_ROLE_POPUP_MENU = 40, ATK_ROLE_PROGRESS_BAR = 41, ATK_ROLE_PUSH_BUTTON = 42, ATK_ROLE_RADIO_BUTTON = 43, ATK_ROLE_RADIO_MENU_ITEM = 44, ATK_ROLE_ROOT_PANE = 45, ATK_ROLE_ROW_HEADER = 46, ATK_ROLE_SCROLL_BAR = 47, ATK_ROLE_SCROLL_PANE = 48, ATK_ROLE_SEPARATOR = 49, ATK_ROLE_SLIDER = 50, ATK_ROLE_SPLIT_PANE = 51, ATK_ROLE_SPIN_BUTTON = 52, ATK_ROLE_STATUSBAR = 53, ATK_ROLE_TABLE = 54, ATK_ROLE_TABLE_CELL = 55, ATK_ROLE_TABLE_COLUMN_HEADER = 56, ATK_ROLE_TABLE_ROW_HEADER = 57, ATK_ROLE_TEAR_OFF_MENU_ITEM = 58, ATK_ROLE_TERMINAL = 59, ATK_ROLE_TEXT = 60, ATK_ROLE_TOGGLE_BUTTON = 61, ATK_ROLE_TOOL_BAR = 62, ATK_ROLE_TOOL_TIP = 63, ATK_ROLE_TREE = 64, ATK_ROLE_TREE_TABLE = 65, ATK_ROLE_UNKNOWN = 66, ATK_ROLE_VIEWPORT = 67, ATK_ROLE_WINDOW = 68, ATK_ROLE_HEADER = 69, ATK_ROLE_FOOTER = 70, ATK_ROLE_PARAGRAPH = 71, ATK_ROLE_RULER = 72, ATK_ROLE_APPLICATION = 73, ATK_ROLE_AUTOCOMPLETE = 74, ATK_ROLE_EDITBAR = 75, ATK_ROLE_EMBEDDED = 76, ATK_ROLE_LAST_DEFINED = 77 } AtkRole; typedef struct _AtkRelationSet { GObject parent; GPtrArray *relations; } AtkRelationSet; typedef enum { ATK_LAYER_INVALID = 0, ATK_LAYER_BACKGROUND = 1, ATK_LAYER_CANVAS = 2, ATK_LAYER_WIDGET = 3, ATK_LAYER_MDI = 4, ATK_LAYER_POPUP = 5, ATK_LAYER_OVERLAY = 6, ATK_LAYER_WINDOW = 7 } AtkLayer; typedef struct _AtkPropertyValues { const gchar *property_name; GValue old_value; GValue new_value; } AtkPropertyValues; typedef void (*AtkPropertyChangeHandler) (AtkObject *, AtkPropertyValues *); typedef struct _AtkImage AtkImage; typedef enum { ATK_XY_SCREEN = 0, ATK_XY_WINDOW = 1 } AtkCoordType; typedef enum { ATK_RELATION_NULL = 0, ATK_RELATION_CONTROLLED_BY = 1, ATK_RELATION_CONTROLLER_FOR = 2, ATK_RELATION_LABEL_FOR = 3, ATK_RELATION_LABELLED_BY = 4, ATK_RELATION_MEMBER_OF = 5, ATK_RELATION_NODE_CHILD_OF = 6, ATK_RELATION_FLOWS_TO = 7, ATK_RELATION_FLOWS_FROM = 8, ATK_RELATION_SUBWINDOW_OF = 9, ATK_RELATION_EMBEDS = 10, ATK_RELATION_EMBEDDED_BY = 11, ATK_RELATION_POPUP_FOR = 12, ATK_RELATION_PARENT_WINDOW_OF = 13, ATK_RELATION_LAST_DEFINED = 14 } AtkRelationType; typedef struct _AtkRelation { GObject parent; GPtrArray *target; AtkRelationType relationship; } AtkRelation; typedef struct _AtkDocument AtkDocument; typedef struct _AtkTable AtkTable; typedef struct _AtkHyperlink { GObject parent; } AtkHyperlink; typedef struct _AtkStateSet { GObject parent; } AtkStateSet; typedef struct _AtkObjectFactory { GObject parent; } AtkObjectFactory; typedef struct _AtkRegistry { GObject parent; GHashTable *factory_type_registry; GHashTable *factory_singleton_cache; } AtkRegistry; typedef struct _AtkEditableText AtkEditableText; typedef GSList AtkAttributeSet; typedef struct _AtkHypertext AtkHypertext; typedef struct _AtkSelection AtkSelection; typedef struct _AtkAction AtkAction; typedef struct _AtkComponent AtkComponent; typedef struct _AtkValue AtkValue; typedef struct _AtkStreamableContent AtkStreamableContent; typedef void (*AtkEventListenerInit) (void); typedef enum { ATK_TEXT_ATTR_INVALID = 0, ATK_TEXT_ATTR_LEFT_MARGIN = 1, ATK_TEXT_ATTR_RIGHT_MARGIN = 2, ATK_TEXT_ATTR_INDENT = 3, ATK_TEXT_ATTR_INVISIBLE = 4, ATK_TEXT_ATTR_EDITABLE = 5, ATK_TEXT_ATTR_PIXELS_ABOVE_LINES = 6, ATK_TEXT_ATTR_PIXELS_BELOW_LINES = 7, ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP = 8, ATK_TEXT_ATTR_BG_FULL_HEIGHT = 9, ATK_TEXT_ATTR_RISE = 10, ATK_TEXT_ATTR_UNDERLINE = 11, ATK_TEXT_ATTR_STRIKETHROUGH = 12, ATK_TEXT_ATTR_SIZE = 13, ATK_TEXT_ATTR_SCALE = 14, ATK_TEXT_ATTR_WEIGHT = 15, ATK_TEXT_ATTR_LANGUAGE = 16, ATK_TEXT_ATTR_FAMILY_NAME = 17, ATK_TEXT_ATTR_BG_COLOR = 18, ATK_TEXT_ATTR_FG_COLOR = 19, ATK_TEXT_ATTR_BG_STIPPLE = 20, ATK_TEXT_ATTR_FG_STIPPLE = 21, ATK_TEXT_ATTR_WRAP_MODE = 22, ATK_TEXT_ATTR_DIRECTION = 23, ATK_TEXT_ATTR_JUSTIFICATION = 24, ATK_TEXT_ATTR_STRETCH = 25, ATK_TEXT_ATTR_VARIANT = 26, ATK_TEXT_ATTR_STYLE = 27, ATK_TEXT_ATTR_LAST_DEFINED = 28 } AtkTextAttribute; typedef enum { ATK_TEXT_BOUNDARY_CHAR = 0, ATK_TEXT_BOUNDARY_WORD_START = 1, ATK_TEXT_BOUNDARY_WORD_END = 2, ATK_TEXT_BOUNDARY_SENTENCE_START = 3, ATK_TEXT_BOUNDARY_SENTENCE_END = 4, ATK_TEXT_BOUNDARY_LINE_START = 5, ATK_TEXT_BOUNDARY_LINE_END = 6 } AtkTextBoundary; typedef enum { ATK_STATE_INVALID = 0, ATK_STATE_ACTIVE = 1, ATK_STATE_ARMED = 2, ATK_STATE_BUSY = 3, ATK_STATE_CHECKED = 4, ATK_STATE_DEFUNCT = 5, ATK_STATE_EDITABLE = 6, ATK_STATE_ENABLED = 7, ATK_STATE_EXPANDABLE = 8, ATK_STATE_EXPANDED = 9, ATK_STATE_FOCUSABLE = 10, ATK_STATE_FOCUSED = 11, ATK_STATE_HORIZONTAL = 12, ATK_STATE_ICONIFIED = 13, ATK_STATE_MODAL = 14, ATK_STATE_MULTI_LINE = 15, ATK_STATE_MULTISELECTABLE = 16, ATK_STATE_OPAQUE = 17, ATK_STATE_PRESSED = 18, ATK_STATE_RESIZABLE = 19, ATK_STATE_SELECTABLE = 20, ATK_STATE_SELECTED = 21, ATK_STATE_SENSITIVE = 22, ATK_STATE_SHOWING = 23, ATK_STATE_SINGLE_LINE = 24, ATK_STATE_STALE = 25, ATK_STATE_TRANSIENT = 26, ATK_STATE_VERTICAL = 27, ATK_STATE_VISIBLE = 28, ATK_STATE_MANAGES_DESCENDANTS = 29, ATK_STATE_INDETERMINATE = 30, ATK_STATE_TRUNCATED = 31, ATK_STATE_LAST_DEFINED = 32 } AtkStateType; typedef struct _AtkGObjectAccessible { AtkObject parent; } AtkGObjectAccessible; typedef guint64 AtkState; typedef void (*AtkFocusHandler) (AtkObject *, gboolean); typedef struct _AtkKeyEventStruct { gint type; guint state; guint keyval; gint length; gchar *string; guint16 keycode; guint32 timestamp; } AtkKeyEventStruct; typedef gint(*AtkKeySnoopFunc) (AtkKeyEventStruct *, gpointer); typedef struct _AtkTextRectangle { gint x; gint y; gint width; gint height; } AtkTextRectangle; typedef struct _AtkTextRange { AtkTextRectangle bounds; gint start_offset; gint end_offset; gchar *content; } AtkTextRange; typedef enum { ATK_TEXT_CLIP_NONE = 0, ATK_TEXT_CLIP_MIN = 1, ATK_TEXT_CLIP_MAX = 2, ATK_TEXT_CLIP_BOTH = 3 } AtkTextClipType; typedef struct _AtkImplementor AtkImplementor; typedef void (*AtkEventListener) (AtkObject *); typedef gboolean(*AtkFunction) (gpointer); typedef struct _AtkImplementorIface { GTypeInterface parent; AtkObject *(*ref_accessible) (AtkImplementor *); } AtkImplementorIface; typedef struct _AtkRegistryClass { GObjectClass parent_class; } AtkRegistryClass; typedef struct _AtkHypertextIface { GTypeInterface parent; AtkHyperlink *(*get_link) (AtkHypertext *, gint); gint(*get_n_links) (AtkHypertext *); gint(*get_link_index) (AtkHypertext *, gint); void (*link_selected) (AtkHypertext *, gint); AtkFunction pad1; AtkFunction pad2; AtkFunction pad3; } AtkHypertextIface; typedef struct _AtkStreamableContentIface { GTypeInterface parent; gint(*get_n_mime_types) (AtkStreamableContent *); const gchar *(*get_mime_type) (AtkStreamableContent *, gint); GIOChannel *(*get_stream) (AtkStreamableContent *, const gchar *); AtkFunction pad1; AtkFunction pad2; AtkFunction pad3; AtkFunction pad4; } AtkStreamableContentIface; typedef struct _AtkRectangle { gint x; gint y; gint width; gint height; } AtkRectangle; typedef struct _AtkStateSetClass { GObjectClass parent; } AtkStateSetClass; typedef struct _AtkAttribute { gchar *name; gchar *value; } AtkAttribute; typedef struct _AtkObjectClass { GObjectClass parent; const gchar *(*get_name) (AtkObject *); const gchar *(*get_description) (AtkObject *); AtkObject *(*get_parent) (AtkObject *); gint(*get_n_children) (AtkObject *); AtkObject *(*ref_child) (AtkObject *, gint); gint(*get_index_in_parent) (AtkObject *); AtkRelationSet *(*ref_relation_set) (AtkObject *); AtkRole(*get_role) (AtkObject *); AtkLayer(*get_layer) (AtkObject *); gint(*get_mdi_zorder) (AtkObject *); AtkStateSet *(*ref_state_set) (AtkObject *); void (*set_name) (AtkObject *, const gchar *); void (*set_description) (AtkObject *, const gchar *); void (*set_parent) (AtkObject *, AtkObject *); void (*set_role) (AtkObject *, AtkRole); guint(*connect_property_change_handler) (AtkObject *, AtkPropertyChangeHandler *); void (*remove_property_change_handler) (AtkObject *, guint); void (*initialize) (AtkObject *, gpointer); void (*children_changed) (AtkObject *, guint, gpointer); void (*focus_event) (AtkObject *, gboolean); void (*property_change) (AtkObject *, AtkPropertyValues *); void (*state_change) (AtkObject *, const gchar *, gboolean); void (*visible_data_changed) (AtkObject *); void (*active_descendant_changed) (AtkObject *, gpointer *); AtkFunction pad1; AtkFunction pad2; AtkFunction pad3; } AtkObjectClass; typedef struct _AtkGObjectAccessibleClass { AtkObjectClass parent_class; AtkFunction pad1; AtkFunction pad2; } AtkGObjectAccessibleClass; typedef struct _AtkObjectFactoryClass { GObjectClass parent_class; AtkObject *(*create_accessible) (GObject *); void (*invalidate) (AtkObjectFactory *); GType(*get_accessible_type) (void); AtkFunction pad1; AtkFunction pad2; } AtkObjectFactoryClass; typedef struct _AtkNoOpObjectFactoryClass { AtkObjectFactoryClass parent_class; } AtkNoOpObjectFactoryClass; typedef struct _AtkActionIface { GTypeInterface parent; gboolean(*do_action) (AtkAction *, gint); gint(*get_n_actions) (AtkAction *); const gchar *(*get_description) (AtkAction *, gint); const gchar *(*get_name) (AtkAction *, gint); const gchar *(*get_keybinding) (AtkAction *, gint); gboolean(*set_description) (AtkAction *, gint, const gchar *); const gchar *(*get_localized_name) (AtkAction *, gint); AtkFunction pad2; } AtkActionIface; typedef struct _AtkTableIface { GTypeInterface parent; AtkObject *(*ref_at) (AtkTable *, gint, gint); gint(*get_index_at) (AtkTable *, gint, gint); gint(*get_column_at_index) (AtkTable *, gint); gint(*get_row_at_index) (AtkTable *, gint); gint(*get_n_columns) (AtkTable *); gint(*get_n_rows) (AtkTable *); gint(*get_column_extent_at) (AtkTable *, gint, gint); gint(*get_row_extent_at) (AtkTable *, gint, gint); AtkObject *(*get_caption) (AtkTable *); const gchar *(*get_column_description) (AtkTable *, gint); AtkObject *(*get_column_header) (AtkTable *, gint); const gchar *(*get_row_description) (AtkTable *, gint); AtkObject *(*get_row_header) (AtkTable *, gint); AtkObject *(*get_summary) (AtkTable *); void (*set_caption) (AtkTable *, AtkObject *); void (*set_column_description) (AtkTable *, gint, const gchar *); void (*set_column_header) (AtkTable *, gint, AtkObject *); void (*set_row_description) (AtkTable *, gint, const gchar *); void (*set_row_header) (AtkTable *, gint, AtkObject *); void (*set_summary) (AtkTable *, AtkObject *); gint(*get_selected_columns) (AtkTable *, gint * *); gint(*get_selected_rows) (AtkTable *, gint * *); gboolean(*is_column_selected) (AtkTable *, gint); gboolean(*is_row_selected) (AtkTable *, gint); gboolean(*is_selected) (AtkTable *, gint, gint); gboolean(*add_row_selection) (AtkTable *, gint); gboolean(*remove_row_selection) (AtkTable *, gint); gboolean(*add_column_selection) (AtkTable *, gint); gboolean(*remove_column_selection) (AtkTable *, gint); void (*row_inserted) (AtkTable *, gint, gint); void (*column_inserted) (AtkTable *, gint, gint); void (*row_deleted) (AtkTable *, gint, gint); void (*column_deleted) (AtkTable *, gint, gint); void (*row_reordered) (AtkTable *); void (*column_reordered) (AtkTable *); void (*model_changed) (AtkTable *); AtkFunction pad1; AtkFunction pad2; AtkFunction pad3; AtkFunction pad4; } AtkTableIface; typedef struct _AtkValueIface { GTypeInterface parent; void (*get_current_value) (AtkValue *, GValue *); void (*get_maximum_value) (AtkValue *, GValue *); void (*get_minimum_value) (AtkValue *, GValue *); gboolean(*set_current_value) (AtkValue *, const GValue *); AtkFunction pad1; AtkFunction pad2; } AtkValueIface; typedef struct _AtkRelationClass { GObjectClass parent; } AtkRelationClass; typedef struct _AtkTextIface { GTypeInterface parent; gchar *(*get_text) (AtkText *, gint, gint); gchar *(*get_text_after_offset) (AtkText *, gint, AtkTextBoundary, gint *, gint *); gchar *(*get_text_at_offset) (AtkText *, gint, AtkTextBoundary, gint *, gint *); gunichar(*get_character_at_offset) (AtkText *, gint); gchar *(*get_text_before_offset) (AtkText *, gint, AtkTextBoundary, gint *, gint *); gint(*get_caret_offset) (AtkText *); AtkAttributeSet *(*get_run_attributes) (AtkText *, gint, gint *, gint *); AtkAttributeSet *(*get_default_attributes) (AtkText *); void (*get_character_extents) (AtkText *, gint, gint *, gint *, gint *, gint *, AtkCoordType); gint(*get_character_count) (AtkText *); gint(*get_offset_at_point) (AtkText *, gint, gint, AtkCoordType); gint(*get_n_selections) (AtkText *); gchar *(*get_selection) (AtkText *, gint, gint *, gint *); gboolean(*add_selection) (AtkText *, gint, gint); gboolean(*remove_selection) (AtkText *, gint); gboolean(*set_selection) (AtkText *, gint, gint, gint); gboolean(*set_caret_offset) (AtkText *, gint); void (*text_changed) (AtkText *, gint, gint); void (*text_caret_moved) (AtkText *, gint); void (*text_selection_changed) (AtkText *); void (*text_attributes_changed) (AtkText *); void (*get_range_extents) (AtkText *, gint, gint, AtkCoordType, AtkTextRectangle *); AtkTextRange **(*get_bounded_ranges) (AtkText *, AtkTextRectangle *, AtkCoordType, AtkTextClipType, AtkTextClipType); AtkFunction pad4; } AtkTextIface; typedef struct _AtkRelationSetClass { GObjectClass parent; AtkFunction pad1; AtkFunction pad2; } AtkRelationSetClass; typedef struct _AtkSelectionIface { GTypeInterface parent; gboolean(*add_selection) (AtkSelection *, gint); gboolean(*clear_selection) (AtkSelection *); AtkObject *(*ref_selection) (AtkSelection *, gint); gint(*get_selection_count) (AtkSelection *); gboolean(*is_child_selected) (AtkSelection *, gint); gboolean(*remove_selection) (AtkSelection *, gint); gboolean(*select_all_selection) (AtkSelection *); void (*selection_changed) (AtkSelection *); AtkFunction pad1; AtkFunction pad2; } AtkSelectionIface; typedef struct _AtkUtilClass { GObjectClass parent; guint(*add_global_event_listener) (GSignalEmissionHook, const gchar *); void (*remove_global_event_listener) (guint); guint(*add_key_event_listener) (AtkKeySnoopFunc, gpointer); void (*remove_key_event_listener) (guint); AtkObject *(*get_root) (void); const gchar *(*get_toolkit_name) (void); const gchar *(*get_toolkit_version) (void); } AtkUtilClass; typedef struct _AtkNoOpObjectClass { AtkObjectClass parent_class; } AtkNoOpObjectClass; typedef struct _AtkImageIface { GTypeInterface parent; void (*get_image_position) (AtkImage *, gint *, gint *, AtkCoordType); const gchar *(*get_image_description) (AtkImage *); void (*get_image_size) (AtkImage *, gint *, gint *); gboolean(*set_image_description) (AtkImage *, const gchar *); AtkFunction pad1; AtkFunction pad2; } AtkImageIface; typedef struct _AtkComponentIface { GTypeInterface parent; guint(*add_focus_handler) (AtkComponent *, AtkFocusHandler); gboolean(*contains) (AtkComponent *, gint, gint, AtkCoordType); AtkObject *(*ref_accessible_at_point) (AtkComponent *, gint, gint, AtkCoordType); void (*get_extents) (AtkComponent *, gint *, gint *, gint *, gint *, AtkCoordType); void (*get_position) (AtkComponent *, gint *, gint *, AtkCoordType); void (*get_size) (AtkComponent *, gint *, gint *); gboolean(*grab_focus) (AtkComponent *); void (*remove_focus_handler) (AtkComponent *, guint); gboolean(*set_extents) (AtkComponent *, gint, gint, gint, gint, AtkCoordType); gboolean(*set_position) (AtkComponent *, gint, gint, AtkCoordType); gboolean(*set_size) (AtkComponent *, gint, gint); AtkLayer(*get_layer) (AtkComponent *); gint(*get_mdi_zorder) (AtkComponent *); void (*bounds_changed) (AtkComponent *, AtkRectangle *); AtkFunction pad2; } AtkComponentIface; typedef struct _AtkEditableTextIface { GTypeInterface parent_interface; gboolean(*set_run_attributes) (AtkEditableText *, AtkAttributeSet *, gint, gint); void (*set_text_contents) (AtkEditableText *, const gchar *); void (*insert_text) (AtkEditableText *, const gchar *, gint, gint *); void (*copy_text) (AtkEditableText *, gint, gint); void (*cut_text) (AtkEditableText *, gint, gint); void (*delete_text) (AtkEditableText *, gint, gint); void (*paste_text) (AtkEditableText *, gint); AtkFunction pad1; AtkFunction pad2; } AtkEditableTextIface; typedef struct _AtkDocumentIface { GTypeInterface parent; const gchar *(*get_document_type) (AtkDocument *); gpointer(*get_document) (AtkDocument *); AtkFunction pad1; AtkFunction pad2; AtkFunction pad3; AtkFunction pad4; AtkFunction pad5; AtkFunction pad6; AtkFunction pad7; AtkFunction pad8; } AtkDocumentIface; typedef struct _AtkHyperlinkClass { GObjectClass parent; gchar *(*get_uri) (AtkHyperlink *, gint); AtkObject *(*get_object) (AtkHyperlink *, gint); gint(*get_end_index) (AtkHyperlink *); gint(*get_start_index) (AtkHyperlink *); gboolean(*is_valid) (AtkHyperlink *); gint(*get_n_anchors) (AtkHyperlink *); guint(*link_state) (AtkHyperlink *); gboolean(*is_selected_link) (AtkHyperlink *); void (*link_activated) (AtkHyperlink *); AtkFunction pad1; } AtkHyperlinkClass; typedef enum { ATK_KEY_EVENT_PRESS, ATK_KEY_EVENT_RELEASE, ATK_KEY_EVENT_LAST_DEFINED } AtkKeyEventType; typedef struct _AtkUtil { GObject parent; } AtkUtil; typedef enum { ATK_HYPERLINK_IS_INLINE = 1 << 0 } AtkHyperlinkStateFlags; typedef struct _AtkNoOpObjectFactory { AtkObjectFactory parent; } AtkNoOpObjectFactory; typedef struct _AtkNoOpObject { AtkObject parent; } AtkNoOpObject; extern gchar *atk_text_get_selection(AtkText *, gint, gint *, gint *); extern guint atk_object_connect_property_change_handler(AtkObject *, AtkPropertyChangeHandler *); extern void atk_image_get_image_position(AtkImage *, gint *, gint *, AtkCoordType); extern AtkRelationType atk_relation_get_relation_type(AtkRelation *); extern const gchar *atk_role_get_localized_name(AtkRole); extern GType atk_hyperlink_get_type(void); extern const gchar *atk_document_get_document_type(AtkDocument *); extern AtkObject *atk_table_get_caption(AtkTable *); extern gint atk_hyperlink_get_start_index(AtkHyperlink *); extern gpointer atk_document_get_document(AtkDocument *); extern AtkStateSet *atk_state_set_or_sets(AtkStateSet *, AtkStateSet *); extern AtkObjectFactory *atk_no_op_object_factory_new(void); extern AtkObject *atk_table_get_column_header(AtkTable *, gint); extern const gchar *atk_object_get_name(AtkObject *); extern void atk_registry_set_factory_type(AtkRegistry *, GType, GType); extern gboolean atk_editable_text_set_run_attributes(AtkEditableText *, AtkAttributeSet *, gint, gint); extern GType atk_object_factory_get_type(void); extern void atk_object_remove_property_change_handler(AtkObject *, guint); extern gboolean atk_image_set_image_description(AtkImage *, const gchar*); extern GType atk_gobject_accessible_get_type(void); extern AtkHyperlink *atk_hypertext_get_link(AtkHypertext *, gint); extern void atk_attribute_set_free(AtkAttributeSet *); extern void atk_focus_tracker_notify(AtkObject *); extern void atk_relation_set_remove(AtkRelationSet *, AtkRelation *); extern void atk_editable_text_cut_text(AtkEditableText *, gint, gint); extern void atk_remove_key_event_listener(guint); extern gboolean atk_selection_add_selection(AtkSelection *, gint); extern gint atk_action_get_n_actions(AtkAction *); extern gboolean atk_component_set_extents(AtkComponent *, gint, gint, gint, gint, AtkCoordType); extern void atk_editable_text_set_text_contents(AtkEditableText *, const gchar *); extern AtkObject *atk_table_get_summary(AtkTable *); extern AtkRole atk_role_register(const gchar *); extern void atk_component_remove_focus_handler(AtkComponent *, guint); extern gint atk_hyperlink_get_n_anchors(AtkHyperlink *); extern gboolean atk_value_set_current_value(AtkValue *, const GValue *); extern gint atk_streamable_content_get_n_mime_types(AtkStreamableContent *); extern void atk_table_set_caption(AtkTable *, AtkObject *); extern void atk_focus_tracker_init(AtkEventListenerInit); extern void atk_relation_set_add(AtkRelationSet *, AtkRelation *); extern GType atk_text_get_type(void); extern void atk_object_initialize(AtkObject *, gpointer); extern void atk_object_set_role(AtkObject *, AtkRole); extern void atk_table_set_row_header(AtkTable *, gint, AtkObject *); extern const gchar *atk_streamable_content_get_mime_type(AtkStreamableContent *, gint); extern const gchar *atk_text_attribute_get_value(AtkTextAttribute, gint); extern gboolean atk_table_add_column_selection(AtkTable *, gint); extern AtkLayer atk_component_get_layer(AtkComponent *); extern AtkObject *atk_selection_ref_selection(AtkSelection *, gint); extern gboolean atk_hyperlink_is_selected_link(AtkHyperlink *); extern gboolean atk_relation_set_contains(AtkRelationSet *, AtkRelationType); extern void atk_image_get_image_size(AtkImage *, int *, int *); extern gchar *atk_text_get_text_before_offset(AtkText *, gint, AtkTextBoundary, gint *, gint *); extern GType atk_action_get_type(void); extern void atk_text_get_character_extents(AtkText *, gint, gint *, gint *, gint *, gint *, AtkCoordType); extern const gchar *atk_action_get_localized_name(AtkAction *, gint); extern void atk_state_set_clear_states(AtkStateSet *); extern GType atk_relation_set_get_type(void); extern gboolean atk_state_set_contains_state(AtkStateSet *, AtkStateType); extern GIOChannel *atk_streamable_content_get_stream(AtkStreamableContent *, const gchar *); extern AtkStateSet *atk_state_set_and_sets(AtkStateSet *, AtkStateSet *); extern gboolean atk_table_remove_column_selection(AtkTable *, gint); extern GType atk_streamable_content_get_type(void); extern void atk_object_set_name(AtkObject *, const gchar *); extern void atk_relation_set_add_relation_by_type(AtkRelationSet *, AtkRelationType, AtkObject *); extern void atk_remove_global_event_listener(guint); extern gchar *atk_text_get_text(AtkText *, gint, gint); extern void atk_editable_text_copy_text(AtkEditableText *, gint, gint); extern GObject *atk_gobject_accessible_get_object(AtkGObjectAccessible *); extern AtkRole atk_role_for_name(const gchar *); extern const gchar *atk_table_get_column_description(AtkTable *, gint); extern const gchar *atk_role_get_name(AtkRole); extern gint atk_table_get_n_rows(AtkTable *); extern void atk_object_factory_invalidate(AtkObjectFactory *); extern void atk_object_notify_state_change(AtkObject *, AtkState, gboolean); extern AtkRelation *atk_relation_set_get_relation_by_type(AtkRelationSet *, AtkRelationType); extern gint atk_relation_set_get_n_relations(AtkRelationSet *); extern gint atk_object_get_n_accessible_children(AtkObject *); extern void atk_table_set_row_description(AtkTable *, gint, const gchar*); extern GType atk_state_set_get_type(void); extern AtkRelation *atk_relation_set_get_relation(AtkRelationSet *, gint); extern AtkObject *atk_get_focus_object(void); extern gunichar atk_text_get_character_at_offset(AtkText *, gint); extern AtkRelation *atk_relation_new(AtkObject * *, gint, AtkRelationType); extern void atk_object_set_parent(AtkObject *, AtkObject *); extern AtkAttributeSet *atk_text_get_run_attributes(AtkText *, gint, gint *, gint *); extern gboolean atk_object_remove_relationship(AtkObject *, AtkRelationType, AtkObject *); extern gboolean atk_selection_remove_selection(AtkSelection *, gint); extern guint atk_component_add_focus_handler(AtkComponent *, AtkFocusHandler); extern gint atk_table_get_index_at(AtkTable *, gint, gint); extern AtkRelationSet *atk_relation_set_new(void); extern AtkObjectFactory *atk_registry_get_factory(AtkRegistry *, GType); extern const gchar *atk_get_toolkit_version(void); extern const gchar *atk_text_attribute_get_name(AtkTextAttribute); extern GType atk_image_get_type(void); extern AtkRelationSet *atk_object_ref_relation_set(AtkObject *); extern AtkStateSet *atk_state_set_new(void); extern AtkStateSet *atk_state_set_xor_sets(AtkStateSet *, AtkStateSet *); extern AtkObject *atk_hyperlink_get_object(AtkHyperlink *, gint); extern gint atk_object_get_index_in_parent(AtkObject *); extern gboolean atk_text_set_caret_offset(AtkText *, gint); extern GType atk_registry_get_type(void); extern AtkRelationType atk_relation_type_for_name(const gchar *); extern const gchar *atk_get_toolkit_name(void); extern gboolean atk_state_set_add_state(AtkStateSet *, AtkStateType); extern AtkStateSet *atk_object_ref_state_set(AtkObject *); extern const gchar *atk_image_get_image_description(AtkImage *); extern gboolean atk_text_add_selection(AtkText *, gint, gint); extern GType atk_registry_get_factory_type(AtkRegistry *, GType); extern gboolean atk_selection_clear_selection(AtkSelection *); extern const gchar *atk_action_get_name(AtkAction *, gint); extern void atk_relation_add_target(AtkRelation *, AtkObject *); extern AtkTextAttribute atk_text_attribute_register(const gchar *); extern gboolean atk_hyperlink_is_valid(AtkHyperlink *); extern GType atk_implementor_get_type(void); extern gboolean atk_object_add_relationship(AtkObject *, AtkRelationType, AtkObject *); extern GType atk_hypertext_get_type(void); extern void atk_table_set_column_header(AtkTable *, gint, AtkObject *); extern gboolean atk_table_add_row_selection(AtkTable *, gint); extern gint atk_selection_get_selection_count(AtkSelection *); extern guint atk_add_key_event_listener(AtkKeySnoopFunc, gpointer); extern gboolean atk_table_is_row_selected(AtkTable *, gint); extern GPtrArray *atk_relation_get_target(AtkRelation *); extern AtkAttributeSet *atk_text_get_default_attributes(AtkText *); extern void atk_editable_text_insert_text(AtkEditableText *, const gchar *, gint, gint *); extern gint atk_hypertext_get_link_index(AtkHypertext *, gint); extern const gchar *atk_table_get_row_description(AtkTable *, gint); extern GType atk_table_get_type(void); extern const gchar *atk_state_type_get_name(AtkStateType); extern AtkObject *atk_no_op_object_new(GObject *); extern gint atk_table_get_column_extent_at(AtkTable *, gint, gint); extern gint atk_hyperlink_get_end_index(AtkHyperlink *); extern void atk_editable_text_delete_text(AtkEditableText *, gint, gint); extern void atk_editable_text_paste_text(AtkEditableText *, gint); extern AtkTextRange **atk_text_get_bounded_ranges(AtkText *, AtkTextRectangle *, AtkCoordType, AtkTextClipType, AtkTextClipType); extern void atk_component_get_position(AtkComponent *, gint *, gint *, AtkCoordType); extern GType atk_value_get_type(void); extern const gchar *atk_object_get_description(AtkObject *); extern gint atk_table_get_selected_columns(AtkTable *, gint * *); extern gint atk_table_get_column_at_index(AtkTable *, gint); extern void atk_value_get_maximum_value(AtkValue *, GValue *); extern GType atk_selection_get_type(void); extern GType atk_rectangle_get_type(void); extern GType atk_object_factory_get_accessible_type(AtkObjectFactory *); extern GType atk_relation_get_type(void); extern gboolean atk_action_do_action(AtkAction *, gint); extern void atk_state_set_add_states(AtkStateSet *, AtkStateType *, gint); extern GType atk_util_get_type(void); extern AtkObject *atk_component_ref_accessible_at_point(AtkComponent *, gint, gint, AtkCoordType); extern gchar *atk_text_get_text_after_offset(AtkText *, gint, AtkTextBoundary, gint *, gint *); extern gint atk_table_get_row_extent_at(AtkTable *, gint, gint); extern guint atk_add_global_event_listener(GSignalEmissionHook, const gchar *); extern gboolean atk_state_set_remove_state(AtkStateSet *, AtkStateType); extern gboolean atk_table_remove_row_selection(AtkTable *, gint); extern AtkObject *atk_table_ref_at(AtkTable *, gint, gint); extern void atk_object_set_description(AtkObject *, const gchar *); extern GType atk_no_op_object_factory_get_type(void); extern AtkRole atk_object_get_role(AtkObject *); extern void atk_table_set_column_description(AtkTable *, gint, const gchar *); extern gchar *atk_text_get_text_at_offset(AtkText *, gint, AtkTextBoundary, gint *, gint *); extern AtkRelationType atk_relation_type_register(const gchar *); extern void atk_component_get_extents(AtkComponent *, gint *, gint *, gint *, gint *, AtkCoordType); extern void atk_text_get_range_extents(AtkText *, gint, gint, AtkCoordType, AtkTextRectangle *); extern const gchar *atk_relation_type_get_name(AtkRelationType); extern void atk_component_get_size(AtkComponent *, gint *, gint *); extern AtkObject *atk_object_factory_create_accessible(AtkObjectFactory*, GObject *); extern void atk_value_get_minimum_value(AtkValue *, GValue *); extern GType atk_document_get_type(void); extern AtkStateType atk_state_type_for_name(const gchar *); extern gboolean atk_state_set_contains_states(AtkStateSet *, AtkStateType *, gint); extern gint atk_text_get_caret_offset(AtkText *); extern const gchar *atk_action_get_description(AtkAction *, gint); extern gint atk_text_get_offset_at_point(AtkText *, gint, gint, AtkCoordType); extern AtkObject *atk_gobject_accessible_for_object(GObject *); extern gboolean atk_action_set_description(AtkAction *, gint, const gchar *); extern gboolean atk_text_set_selection(AtkText *, gint, gint, gint); extern gint atk_table_get_selected_rows(AtkTable *, gint * *); extern AtkObject *atk_implementor_ref_accessible(AtkImplementor *); extern gint atk_text_get_n_selections(AtkText *); extern gint atk_component_get_mdi_zorder(AtkComponent *); extern gchar *atk_hyperlink_get_uri(AtkHyperlink *, gint); extern void atk_value_get_current_value(AtkValue *, GValue *); extern AtkRegistry *atk_get_default_registry(void); extern gboolean atk_component_set_position(AtkComponent *, gint, gint, AtkCoordType); extern void atk_remove_focus_tracker(guint); extern GType atk_no_op_object_get_type(void); extern gboolean atk_component_grab_focus(AtkComponent *); extern gint atk_table_get_n_columns(AtkTable *); extern gboolean atk_hyperlink_is_inline(AtkHyperlink *); extern gboolean atk_table_is_column_selected(AtkTable *, gint); extern AtkObject *atk_table_get_row_header(AtkTable *, gint); extern gboolean atk_text_remove_selection(AtkText *, gint); extern AtkTextAttribute atk_text_attribute_for_name(const gchar *); extern void atk_table_set_summary(AtkTable *, AtkObject *); extern gboolean atk_selection_is_child_selected(AtkSelection *, gint); extern gboolean atk_table_is_selected(AtkTable *, gint, gint); extern guint atk_add_focus_tracker(AtkEventListener); extern GType atk_component_get_type(void); extern gboolean atk_component_contains(AtkComponent *, gint, gint, AtkCoordType); extern gint atk_text_get_character_count(AtkText *); extern gint atk_table_get_row_at_index(AtkTable *, gint); extern gboolean atk_selection_select_all_selection(AtkSelection *); extern gint atk_hypertext_get_n_links(AtkHypertext *); extern const gchar *atk_action_get_keybinding(AtkAction *, gint); extern void atk_text_free_ranges(AtkTextRange * *); extern gboolean atk_component_set_size(AtkComponent *, gint, gint); extern AtkStateType atk_state_type_register(const gchar *); extern AtkObject *atk_get_root(void); extern AtkObject *atk_object_get_parent(AtkObject *); extern GType atk_editable_text_get_type(void); extern gboolean atk_state_set_is_empty(AtkStateSet *); extern GType atk_object_get_type(void); extern AtkObject *atk_object_ref_accessible_child(AtkObject *, gint); __________________________________________________________ 15.11. Interfaces for libpango-1.0 Table 15-63 defines the library name and shared object name for the libpango-1.0 library Table 15-63. libpango-1.0 Definition Library: libpango-1.0 SONAME: libpango-1.0.so.0 The behavior of the interfaces in this library is specified by the following specifications: [Pango] Pango 1.8.0 Reference Manual __________________________________________________________ 15.11.1. GTK Internationalized Text Layout and Rendering library __________________________________________________________ 15.11.1.1. Interfaces for GTK Internationalized Text Layout and Rendering library An LSB conforming implementation shall provide the generic functions for GTK Internationalized Text Layout and Rendering library specified in Table 15-64, with the full mandatory functionality as described in the referenced underlying specification. Table 15-64. libpango-1.0 - GTK Internationalized Text Layout and Rendering library Function Interfaces pango_alignment_get_type [Pango] pango_attr_background_new [Pango] pango_attr_fallback_new [Pango] pango_attr_family_new [Pango] pango_attr_font_desc_new [Pango] pango_attr_foreground_new [Pango] pango_attr_iterator_copy [Pango] pango_attr_iterator_destroy [Pango] pango_attr_iterator_get [Pango] pango_attr_iterator_get_attrs [Pango] pango_attr_iterator_get_font [Pango] pango_attr_iterator_next [Pango] pango_attr_iterator_range [Pango] pango_attr_language_new [Pango] pango_attr_letter_spacing_new [Pango] pango_attr_list_change [Pango] pango_attr_list_copy [Pango] pango_attr_list_filter [Pango] pango_attr_list_get_iterator [Pango] pango_attr_list_get_type [Pango] pango_attr_list_insert [Pango] pango_attr_list_insert_before [Pango] pango_attr_list_new [Pango] pango_attr_list_ref [Pango] pango_attr_list_splice [Pango] pango_attr_list_unref [Pango] pango_attr_rise_new [Pango] pango_attr_scale_new [Pango] pango_attr_shape_new [Pango] pango_attr_shape_new_with_data [Pango] pango_attr_size_new [Pango] pango_attr_size_new_absolute [Pango] pango_attr_stretch_new [Pango] pango_attr_strikethrough_color_new [Pango] pango_attr_strikethrough_new [Pango] pango_attr_style_new [Pango] pango_attr_type_get_type [Pango] pango_attr_type_register [Pango] pango_attr_underline_color_new [Pango] pango_attr_underline_new [Pango] pango_attr_variant_new [Pango] pango_attr_weight_new [Pango] pango_attribute_copy [Pango] pango_attribute_destroy [Pango] pango_attribute_equal [Pango] pango_break [Pango] pango_color_copy [Pango] pango_color_free [Pango] pango_color_get_type [Pango] pango_color_parse [Pango] pango_context_get_base_dir [Pango] pango_context_get_font_description [Pango] pango_context_get_font_map [Pango] pango_context_get_language [Pango] pango_context_get_matrix [Pango] pango_context_get_metrics [Pango] pango_context_get_type [Pango] pango_context_list_families [Pango] pango_context_load_font [Pango] pango_context_load_fontset [Pango] pango_context_set_base_dir [Pango] pango_context_set_font_description [Pango] pango_context_set_language [Pango] pango_context_set_matrix [Pango] pango_coverage_from_bytes [Pango] pango_coverage_get [Pango] pango_coverage_level_get_type [Pango] pango_coverage_max [Pango] pango_coverage_new [Pango] pango_coverage_ref [Pango] pango_coverage_set [Pango] pango_coverage_to_bytes [Pango] pango_coverage_unref [Pango] pango_direction_get_type [Pango] pango_ellipsize_mode_get_type [Pango] pango_find_base_dir [Pango] pango_find_paragraph_boundary [Pango] pango_font_describe [Pango] pango_font_description_better_match [Pango] pango_font_description_copy [Pango] pango_font_description_copy_static [Pango] pango_font_description_equal [Pango] pango_font_description_free [Pango] pango_font_description_from_string [Pango] pango_font_description_get_family [Pango] pango_font_description_get_set_fields [Pango] pango_font_description_get_size [Pango] pango_font_description_get_size_is_absolute [Pango] pango_font_description_get_stretch [Pango] pango_font_description_get_style [Pango] pango_font_description_get_type [Pango] pango_font_description_get_variant [Pango] pango_font_description_get_weight [Pango] pango_font_description_hash [Pango] pango_font_description_merge [Pango] pango_font_description_merge_static [Pango] pango_font_description_new [Pango] pango_font_description_set_absolute_size [Pango] pango_font_description_set_family [Pango] pango_font_description_set_family_static [Pango] pango_font_description_set_size [Pango] pango_font_description_set_stretch [Pango] pango_font_description_set_style [Pango] pango_font_description_set_variant [Pango] pango_font_description_set_weight [Pango] pango_font_description_to_filename [Pango] pango_font_description_to_string [Pango] pango_font_description_unset_fields [Pango] pango_font_descriptions_free [Pango] pango_font_face_describe [Pango] pango_font_face_get_face_name [Pango] pango_font_face_get_type [Pango] pango_font_face_list_sizes [Pango] pango_font_family_get_name [Pango] pango_font_family_get_type [Pango] pango_font_family_is_monospace [Pango] pango_font_family_list_faces [Pango] pango_font_find_shaper [Pango] pango_font_get_coverage [Pango] pango_font_get_glyph_extents [Pango] pango_font_get_metrics [Pango] pango_font_get_type [Pango] pango_font_map_get_type [Pango] pango_font_map_list_families [Pango] pango_font_map_load_font [Pango] pango_font_map_load_fontset [Pango] pango_font_mask_get_type [Pango] pango_font_metrics_get_approximate_char_width [Pango] pango_font_metrics_get_approximate_digit_width [Pango] pango_font_metrics_get_ascent [Pango] pango_font_metrics_get_descent [Pango] pango_font_metrics_get_strikethrough_position [Pango] pango_font_metrics_get_strikethrough_thickness [Pango] pango_font_metrics_get_type [Pango] pango_font_metrics_get_underline_position [Pango] pango_font_metrics_get_underline_thickness [Pango] pango_font_metrics_ref [Pango] pango_font_metrics_unref [Pango] pango_fontset_foreach [Pango] pango_fontset_get_font [Pango] pango_fontset_get_metrics [Pango] pango_fontset_get_type [Pango] pango_get_log_attrs [Pango] pango_glyph_item_apply_attrs [Pango] pango_glyph_item_free [Pango] pango_glyph_item_letter_space [Pango] pango_glyph_item_split [Pango] pango_glyph_string_copy [Pango] pango_glyph_string_extents [Pango] pango_glyph_string_extents_range [Pango] pango_glyph_string_free [Pango] pango_glyph_string_get_logical_widths [Pango] pango_glyph_string_get_type [Pango] pango_glyph_string_index_to_x [Pango] pango_glyph_string_new [Pango] pango_glyph_string_set_size [Pango] pango_glyph_string_x_to_index [Pango] pango_item_copy [Pango] pango_item_free [Pango] pango_item_new [Pango] pango_item_split [Pango] pango_itemize [Pango] pango_itemize_with_base_dir [Pango] pango_language_from_string [Pango] pango_language_get_sample_string [Pango] pango_language_get_type [Pango] pango_language_includes_script [Pango] pango_language_matches [Pango] pango_layout_context_changed [Pango] pango_layout_copy [Pango] pango_layout_get_alignment [Pango] pango_layout_get_attributes [Pango] pango_layout_get_auto_dir [Pango] pango_layout_get_context [Pango] pango_layout_get_cursor_pos [Pango] pango_layout_get_ellipsize [Pango] pango_layout_get_extents [Pango] pango_layout_get_font_description [Pango] pango_layout_get_indent [Pango] pango_layout_get_iter [Pango] pango_layout_get_justify [Pango] pango_layout_get_line [Pango] pango_layout_get_line_count [Pango] pango_layout_get_lines [Pango] pango_layout_get_log_attrs [Pango] pango_layout_get_pixel_extents [Pango] pango_layout_get_pixel_size [Pango] pango_layout_get_single_paragraph_mode [Pango] pango_layout_get_size [Pango] pango_layout_get_spacing [Pango] pango_layout_get_tabs [Pango] pango_layout_get_text [Pango] pango_layout_get_type [Pango] pango_layout_get_width [Pango] pango_layout_get_wrap [Pango] pango_layout_index_to_pos [Pango] pango_layout_iter_at_last_line [Pango] pango_layout_iter_free [Pango] pango_layout_iter_get_baseline [Pango] pango_layout_iter_get_char_extents [Pango] pango_layout_iter_get_cluster_extents [Pango] pango_layout_iter_get_index [Pango] pango_layout_iter_get_layout_extents [Pango] pango_layout_iter_get_line [Pango] pango_layout_iter_get_line_extents [Pango] pango_layout_iter_get_line_yrange [Pango] pango_layout_iter_get_run [Pango] pango_layout_iter_get_run_extents [Pango] pango_layout_iter_get_type [Pango] pango_layout_iter_next_char [Pango] pango_layout_iter_next_cluster [Pango] pango_layout_iter_next_line [Pango] pango_layout_iter_next_run [Pango] pango_layout_line_get_extents [Pango] pango_layout_line_get_pixel_extents [Pango] pango_layout_line_get_x_ranges [Pango] pango_layout_line_index_to_x [Pango] pango_layout_line_ref [Pango] pango_layout_line_unref [Pango] pango_layout_line_x_to_index [Pango] pango_layout_move_cursor_visually [Pango] pango_layout_new [Pango] pango_layout_set_alignment [Pango] pango_layout_set_attributes [Pango] pango_layout_set_auto_dir [Pango] pango_layout_set_ellipsize [Pango] pango_layout_set_font_description [Pango] pango_layout_set_indent [Pango] pango_layout_set_justify [Pango] pango_layout_set_markup [Pango] pango_layout_set_markup_with_accel [Pango] pango_layout_set_single_paragraph_mode [Pango] pango_layout_set_spacing [Pango] pango_layout_set_tabs [Pango] pango_layout_set_text [Pango] pango_layout_set_width [Pango] pango_layout_set_wrap [Pango] pango_layout_xy_to_index [Pango] pango_log2vis_get_embedding_levels [Pango] pango_matrix_concat [Pango] pango_matrix_copy [Pango] pango_matrix_free [Pango] pango_matrix_get_type [Pango] pango_matrix_rotate [Pango] pango_matrix_scale [Pango] pango_matrix_translate [Pango] pango_parse_markup [Pango] pango_parse_stretch [Pango] pango_parse_style [Pango] pango_parse_variant [Pango] pango_parse_weight [Pango] pango_read_line [Pango] pango_render_part_get_type [Pango] pango_renderer_activate [Pango] pango_renderer_deactivate [Pango] pango_renderer_draw_error_underline [Pango] pango_renderer_draw_glyph [Pango] pango_renderer_draw_glyphs [Pango] pango_renderer_draw_layout [Pango] pango_renderer_draw_layout_line [Pango] pango_renderer_draw_rectangle [Pango] pango_renderer_draw_trapezoid [Pango] pango_renderer_get_color [Pango] pango_renderer_get_matrix [Pango] pango_renderer_get_type [Pango] pango_renderer_part_changed [Pango] pango_renderer_set_color [Pango] pango_renderer_set_matrix [Pango] pango_reorder_items [Pango] pango_scan_int [Pango] pango_scan_string [Pango] pango_scan_word [Pango] pango_script_for_unichar [Pango] pango_script_get_sample_language [Pango] pango_script_get_type [Pango] pango_script_iter_free [Pango] pango_script_iter_get_range [Pango] pango_script_iter_new [Pango] pango_script_iter_next [Pango] pango_shape [Pango] pango_skip_space [Pango] pango_split_file_list [Pango] pango_stretch_get_type [Pango] pango_style_get_type [Pango] pango_tab_align_get_type [Pango] pango_tab_array_copy [Pango] pango_tab_array_free [Pango] pango_tab_array_get_positions_in_pixels [Pango] pango_tab_array_get_size [Pango] pango_tab_array_get_tab [Pango] pango_tab_array_get_tabs [Pango] pango_tab_array_get_type [Pango] pango_tab_array_new [Pango] pango_tab_array_new_with_positions [Pango] pango_tab_array_resize [Pango] pango_tab_array_set_tab [Pango] pango_trim_string [Pango] pango_underline_get_type [Pango] pango_unichar_direction [Pango] pango_variant_get_type [Pango] pango_weight_get_type [Pango] pango_wrap_mode_get_type [Pango] __________________________________________________________ 15.12. Data Definitions for libpango-1.0 This section defines global identifiers and their values that are associated with interfaces contained in libpango-1.0. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 15.12.1. pango-1.0/pango/pango-utils.h extern char *pango_trim_string(const char *); extern gboolean pango_scan_word(const char **, GString *); extern gboolean pango_skip_space(const char **); extern gboolean pango_parse_stretch(const char *, PangoStretch *, gboolean); extern gboolean pango_scan_int(const char **, int *); extern gboolean pango_parse_weight(const char *, PangoWeight *, gboolean); extern gint pango_read_line(FILE *, GString *); extern gboolean pango_log2vis_get_embedding_levels(gunichar *, gint, PangoDirection *, guint8 *); extern const char *pango_language_get_sample_string(PangoLanguage *); extern gboolean pango_parse_style(const char *, PangoStyle *, gboolean); extern gboolean pango_scan_string(const char **, GString *); extern gboolean pango_parse_variant(const char *, PangoVariant *, gboolean); extern char **pango_split_file_list(const char *); __________________________________________________________ 15.12.2. pango-1.0/pango/pango.h #define PANGO_CONTEXT_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_CONTEXT, \ PangoContextClass)) #define PANGO_LAYOUT_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_LAYOUT, \ PangoLayoutClass)) #define PANGO_RENDERER_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_RENDERER, \ PangoRendererClass)) #define PANGO_IS_CONTEXT_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_CONTEXT)) #define PANGO_IS_LAYOUT_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_LAYOUT)) #define PANGO_IS_RENDERER_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_RENDERER)) #define PANGO_CONTEXT(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_CONTEXT, \ PangoContext)) #define PANGO_FONT(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT, PangoFont)) #define PANGO_FONTSET(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONTSET, \ PangoFontset)) #define PANGO_FONT_FACE(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_FACE, \ PangoFontFace)) #define PANGO_FONT_FAMILY(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_FAMILY, \ PangoFontFamily)) #define PANGO_FONT_MAP(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_MAP, \ PangoFontMap)) #define PANGO_LAYOUT(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_LAYOUT, \ PangoLayout)) #define PANGO_RENDERER(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_RENDERER, \ PangoRenderer)) #define PANGO_IS_CONTEXT(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_CONTEXT)) #define PANGO_IS_FONT(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT)) #define PANGO_IS_FONTSET(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONTSET)) #define PANGO_IS_FONT_FACE(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_FACE)) #define PANGO_IS_FONT_FAMILY(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_FAMILY)) #define PANGO_IS_FONT_MAP(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_MAP)) #define PANGO_IS_LAYOUT(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_LAYOUT)) #define PANGO_IS_RENDERER(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_RENDERER)) #define PANGO_CONTEXT_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_CONTEXT, \ PangoContextClass)) #define PANGO_LAYOUT_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_LAYOUT, \ PangoLayoutClass)) #define PANGO_RENDERER_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_RENDERER, \ PangoRendererClass)) #define PANGO_PIXELS(d) (((int)(d) + 512) >> 10) #define pango_language_to_string(language) ((const char *)language) #define PANGO_SCALE_XX_SMALL ((double)0.5787037037037) #define PANGO_SCALE_X_SMALL ((double)0.6444444444444) #define PANGO_SCALE_SMALL ((double)0.8333333333333) #define PANGO_SCALE_MEDIUM ((double)1.0) #define PANGO_SCALE_LARGE ((double)1.2) #define PANGO_SCALE_X_LARGE ((double)1.4399999999999) #define PANGO_SCALE_XX_LARGE ((double)1.728) #define PANGO_RBEARING(rect) ((rect).x + (rect).width) #define PANGO_LBEARING(rect) ((rect).x) #define PANGO_DESCENT(rect) ((rect).y + (rect).height) #define PANGO_ASCENT(rect) (-(rect).y) #define PANGO_TYPE_ALIGNMENT (pango_alignment_get_type()) #define PANGO_TYPE_ATTR_TYPE (pango_attr_type_get_type()) #define PANGO_TYPE_CONTEXT (pango_context_get_type ()) #define PANGO_TYPE_COVERAGE_LEVEL (pango_coverage_level_get_type()) #define PANGO_TYPE_DIRECTION (pango_direction_get_type()) #define PANGO_TYPE_ELLIPSIZE_MODE (pango_ellipsize_mode_get_type()) #define PANGO_TYPE_FONTSET (pango_fontset_get_type ()) #define PANGO_TYPE_FONT_DESCRIPTION (pango_font_description_get_type ()) #define PANGO_TYPE_FONT_FACE (pango_font_face_get_type ()) #define PANGO_TYPE_FONT_FAMILY (pango_font_family_get_type ()) #define PANGO_TYPE_FONT (pango_font_get_type ()) #define PANGO_TYPE_FONT_MAP (pango_font_map_get_type ()) #define PANGO_TYPE_FONT_MASK (pango_font_mask_get_type()) #define PANGO_TYPE_FONT_METRICS (pango_font_metrics_get_type ()) #define PANGO_TYPE_GLYPH_STRING (pango_glyph_string_get_type ()) #define PANGO_TYPE_LANGUAGE (pango_language_get_type ()) #define PANGO_TYPE_LAYOUT (pango_layout_get_type ()) #define PANGO_TYPE_LAYOUT_ITER (pango_layout_iter_get_type ()) #define PANGO_TYPE_MATRIX (pango_matrix_get_type ()) #define PANGO_TYPE_RENDERER (pango_renderer_get_type()) #define PANGO_TYPE_RENDER_PART (pango_render_part_get_type()) #define PANGO_TYPE_SCRIPT (pango_script_get_type()) #define PANGO_TYPE_STRETCH (pango_stretch_get_type()) #define PANGO_TYPE_STYLE (pango_style_get_type()) #define PANGO_TYPE_TAB_ALIGN (pango_tab_align_get_type()) #define PANGO_TYPE_TAB_ARRAY (pango_tab_array_get_type ()) #define PANGO_TYPE_UNDERLINE (pango_underline_get_type()) #define PANGO_TYPE_VARIANT (pango_variant_get_type()) #define PANGO_TYPE_WEIGHT (pango_weight_get_type()) #define PANGO_TYPE_WRAP_MODE (pango_wrap_mode_get_type()) #define PANGO_SCALE 1024 #define PANGO_TYPE_ATTR_LIST pango_attr_list_get_type () #define PANGO_TYPE_COLOR pango_color_get_type () #define PANGO_MATRIX_INIT { 1., 0., 0., 1., 0., 0. } typedef struct _PangoFontFace PangoFontFace; typedef enum { PANGO_WRAP_WORD = 0, PANGO_WRAP_CHAR = 1, PANGO_WRAP_WORD_CHAR = 2 } PangoWrapMode; typedef struct _PangoLayout PangoLayout; typedef struct _PangoScriptIter PangoScriptIter; typedef enum { PANGO_SCRIPT_INVALID_CODE = -1, PANGO_SCRIPT_COMMON = 0, PANGO_SCRIPT_INHERITED = 1, PANGO_SCRIPT_ARABIC = 2, PANGO_SCRIPT_ARMENIAN = 3, PANGO_SCRIPT_BENGALI = 4, PANGO_SCRIPT_BOPOMOFO = 5, PANGO_SCRIPT_CHEROKEE = 6, PANGO_SCRIPT_COPTIC = 7, PANGO_SCRIPT_CYRILLIC = 8, PANGO_SCRIPT_DESERET = 9, PANGO_SCRIPT_DEVANAGARI = 10, PANGO_SCRIPT_ETHIOPIC = 11, PANGO_SCRIPT_GEORGIAN = 12, PANGO_SCRIPT_GOTHIC = 13, PANGO_SCRIPT_GREEK = 14, PANGO_SCRIPT_GUJARATI = 15, PANGO_SCRIPT_GURMUKHI = 16, PANGO_SCRIPT_HAN = 17, PANGO_SCRIPT_HANGUL = 18, PANGO_SCRIPT_HEBREW = 19, PANGO_SCRIPT_HIRAGANA = 20, PANGO_SCRIPT_KANNADA = 21, PANGO_SCRIPT_KATAKANA = 22, PANGO_SCRIPT_KHMER = 23, PANGO_SCRIPT_LAO = 24, PANGO_SCRIPT_LATIN = 25, PANGO_SCRIPT_MALAYALAM = 26, PANGO_SCRIPT_MONGOLIAN = 27, PANGO_SCRIPT_MYANMAR = 28, PANGO_SCRIPT_OGHAM = 29, PANGO_SCRIPT_OLD_ITALIC = 30, PANGO_SCRIPT_ORIYA = 31, PANGO_SCRIPT_RUNIC = 32, PANGO_SCRIPT_SINHALA = 33, PANGO_SCRIPT_SYRIAC = 34, PANGO_SCRIPT_TAMIL = 35, PANGO_SCRIPT_TELUGU = 36, PANGO_SCRIPT_THAANA = 37, PANGO_SCRIPT_THAI = 38, PANGO_SCRIPT_TIBETAN = 39, PANGO_SCRIPT_CANADIAN_ABORIGINAL = 40, PANGO_SCRIPT_YI = 41, PANGO_SCRIPT_TAGALOG = 42, PANGO_SCRIPT_HANUNOO = 43, PANGO_SCRIPT_BUHID = 44, PANGO_SCRIPT_TAGBANWA = 45, PANGO_SCRIPT_BRAILLE = 46, PANGO_SCRIPT_CYPRIOT = 47, PANGO_SCRIPT_LIMBU = 48, PANGO_SCRIPT_OSMANYA = 49, PANGO_SCRIPT_SHAVIAN = 50, PANGO_SCRIPT_LINEAR_B = 51, PANGO_SCRIPT_TAI_LE = 52, PANGO_SCRIPT_UGARITIC = 53 } PangoScript; typedef struct _PangoFont PangoFont; typedef struct _PangoContext PangoContext; typedef struct _PangoFontDescription PangoFontDescription; typedef enum { PANGO_ATTR_INVALID = 0, PANGO_ATTR_LANGUAGE = 1, PANGO_ATTR_FAMILY = 2, PANGO_ATTR_STYLE = 3, PANGO_ATTR_WEIGHT = 4, PANGO_ATTR_VARIANT = 5, PANGO_ATTR_STRETCH = 6, PANGO_ATTR_SIZE = 7, PANGO_ATTR_FONT_DESC = 8, PANGO_ATTR_FOREGROUND = 9, PANGO_ATTR_BACKGROUND = 10, PANGO_ATTR_UNDERLINE = 11, PANGO_ATTR_STRIKETHROUGH = 12, PANGO_ATTR_RISE = 13, PANGO_ATTR_SHAPE = 14, PANGO_ATTR_SCALE = 15, PANGO_ATTR_FALLBACK = 16, PANGO_ATTR_LETTER_SPACING = 17, PANGO_ATTR_UNDERLINE_COLOR = 18, PANGO_ATTR_STRIKETHROUGH_COLOR = 19, PANGO_ATTR_ABSOLUTE_SIZE = 20 } PangoAttrType; typedef struct _PangoAttribute { const PangoAttrClass *klass; guint start_index; guint end_index; } PangoAttribute; typedef struct _PangoAttrClass { PangoAttrType type; PangoAttribute *(*copy) (const PangoAttribute *); void (*destroy) (PangoAttribute *); gboolean(*equal) (const PangoAttribute *, const PangoAttribute *); } PangoAttrClass; typedef struct _PangoLanguage PangoLanguage; typedef struct _PangoLogAttr { guint is_line_break:1; guint is_mandatory_break:1; guint is_char_break:1; guint is_white:1; guint is_cursor_position:1; guint is_word_start:1; guint is_word_end:1; guint is_sentence_boundary:1; guint is_sentence_start:1; guint is_sentence_end:1; guint backspace_deletes_character:1; } PangoLogAttr; typedef struct _PangoColor { guint16 red; guint16 green; guint16 blue; } PangoColor; typedef struct _PangoMatrix { double xx; double xy; double yx; double yy; double x0; double y0; } PangoMatrix; typedef struct _PangoEngineShape PangoEngineShape; typedef struct _PangoEngineLang PangoEngineLang; typedef struct _PangoAnalysis { PangoEngineShape *shape_engine; PangoEngineLang *lang_engine; PangoFont *font; guint8 level; PangoLanguage *language; GSList *extra_attrs; } PangoAnalysis; typedef struct _PangoItem { gint offset; gint length; gint num_chars; PangoAnalysis analysis; } PangoItem; typedef guint32 PangoGlyph; typedef gint32 PangoGlyphUnit; typedef struct _PangoGlyphGeometry { PangoGlyphUnit width; PangoGlyphUnit x_offset; PangoGlyphUnit y_offset; } PangoGlyphGeometry; typedef struct _PangoGlyphVisAttr { guint is_cluster_start:1; } PangoGlyphVisAttr; typedef struct _PangoGlyphInfo { PangoGlyph glyph; PangoGlyphGeometry geometry; PangoGlyphVisAttr attr; } PangoGlyphInfo; typedef struct _PangoGlyphString { gint num_glyphs; PangoGlyphInfo *glyphs; gint *log_clusters; gint space; } PangoGlyphString; typedef struct _PangoGlyphItem { PangoItem *item; PangoGlyphString *glyphs; } PangoGlyphItem; typedef PangoGlyphItem PangoLayoutRun; typedef struct _PangoLayoutIter PangoLayoutIter; typedef enum { PANGO_UNDERLINE_NONE = 0, PANGO_UNDERLINE_SINGLE = 1, PANGO_UNDERLINE_DOUBLE = 2, PANGO_UNDERLINE_LOW = 3, PANGO_UNDERLINE_ERROR = 4 } PangoUnderline; typedef struct _PangoRendererPrivate PangoRendererPrivate; typedef struct _PangoRenderer { GObject parent_instance; PangoUnderline underline; gboolean strikethrough; int active_count; PangoMatrix *matrix; PangoRendererPrivate *priv; } PangoRenderer; typedef enum { PANGO_RENDER_PART_FOREGROUND = 0, PANGO_RENDER_PART_BACKGROUND = 1, PANGO_RENDER_PART_UNDERLINE = 2, PANGO_RENDER_PART_STRIKETHROUGH = 3 } PangoRenderPart; typedef struct _PangoAttrList PangoAttrList; typedef struct _PangoLayoutLine { PangoLayout *layout; gint start_index; gint length; GSList *runs; guint is_paragraph_start:1; guint resolved_dir:3; } PangoLayoutLine; typedef enum { PANGO_STRETCH_ULTRA_CONDENSED = 0, PANGO_STRETCH_EXTRA_CONDENSED = 1, PANGO_STRETCH_CONDENSED = 2, PANGO_STRETCH_SEMI_CONDENSED = 3, PANGO_STRETCH_NORMAL = 4, PANGO_STRETCH_SEMI_EXPANDED = 5, PANGO_STRETCH_EXPANDED = 6, PANGO_STRETCH_EXTRA_EXPANDED = 7, PANGO_STRETCH_ULTRA_EXPANDED = 8 } PangoStretch; typedef struct _PangoRectangle { int x; int y; int width; int height; } PangoRectangle; typedef struct _PangoFontFamily PangoFontFamily; typedef struct _PangoFontMetrics PangoFontMetrics; typedef struct _PangoTabArray PangoTabArray; typedef enum { PANGO_TAB_LEFT = 0 } PangoTabAlign; typedef enum { PANGO_ALIGN_LEFT = 0, PANGO_ALIGN_CENTER = 1, PANGO_ALIGN_RIGHT = 2 } PangoAlignment; typedef struct _PangoAttrIterator PangoAttrIterator; typedef enum { PANGO_FONT_MASK_FAMILY = 1, PANGO_FONT_MASK_STYLE = 2, PANGO_FONT_MASK_VARIANT = 4, PANGO_FONT_MASK_WEIGHT = 8, PANGO_FONT_MASK_STRETCH = 16, PANGO_FONT_MASK_SIZE = 32 } PangoFontMask; typedef enum { PANGO_DIRECTION_LTR = 0, PANGO_DIRECTION_RTL = 1, PANGO_DIRECTION_TTB_LTR = 2, PANGO_DIRECTION_TTB_RTL = 3, PANGO_DIRECTION_WEAK_LTR = 4, PANGO_DIRECTION_WEAK_RTL = 5, PANGO_DIRECTION_NEUTRAL = 6 } PangoDirection; typedef enum { PANGO_ELLIPSIZE_NONE = 0, PANGO_ELLIPSIZE_START = 1, PANGO_ELLIPSIZE_MIDDLE = 2, PANGO_ELLIPSIZE_END = 3 } PangoEllipsizeMode; typedef struct _PangoCoverage PangoCoverage; typedef enum { PANGO_STYLE_NORMAL = 0, PANGO_STYLE_OBLIQUE = 1, PANGO_STYLE_ITALIC = 2 } PangoStyle; typedef enum { PANGO_COVERAGE_NONE = 0, PANGO_COVERAGE_FALLBACK = 1, PANGO_COVERAGE_APPROXIMATE = 2, PANGO_COVERAGE_EXACT = 3 } PangoCoverageLevel; typedef struct _PangoFontMap PangoFontMap; typedef gboolean(*PangoAttrFilterFunc) (PangoAttribute *, gpointer); typedef struct _PangoFontset PangoFontset; typedef enum { PANGO_WEIGHT_ULTRALIGHT = 200, PANGO_WEIGHT_LIGHT = 300, PANGO_WEIGHT_NORMAL = 400, PANGO_WEIGHT_SEMIBOLD = 600, PANGO_WEIGHT_BOLD = 700, PANGO_WEIGHT_ULTRABOLD = 800, PANGO_WEIGHT_HEAVY = 900 } PangoWeight; typedef gboolean(*PangoFontsetForeachFunc) (PangoFontset *, PangoFont *, gpointer); typedef enum { PANGO_VARIANT_NORMAL = 0, PANGO_VARIANT_SMALL_CAPS = 1 } PangoVariant; typedef gpointer(*PangoAttrDataCopyFunc) (gconstpointer); typedef struct _PangoAttrShape { PangoAttribute attr; PangoRectangle ink_rect; PangoRectangle logical_rect; gpointer data; PangoAttrDataCopyFunc copy_func; GDestroyNotify destroy_func; } PangoAttrShape; typedef struct _PangoContextClass PangoContextClass; typedef struct _PangoAttrString { PangoAttribute attr; char *value; } PangoAttrString; typedef struct _PangoAttrColor { PangoAttribute attr; PangoColor color; } PangoAttrColor; typedef struct _PangoAttrFontDesc { PangoAttribute attr; PangoFontDescription *desc; } PangoAttrFontDesc; typedef struct _PangoAttrFloat { PangoAttribute attr; double value; } PangoAttrFloat; typedef struct _PangoRendererClass { GObjectClass parent_class; void (*draw_glyphs) (PangoRenderer *, PangoFont *, PangoGlyphString*, int, int); void (*draw_rectangle) (PangoRenderer *, PangoRenderPart, int, int, int, int); void (*draw_error_underline) (PangoRenderer *, int, int, int, int); void (*draw_shape) (PangoRenderer *, PangoAttrShape *, int, int); void (*draw_trapezoid) (PangoRenderer *, PangoRenderPart, double, double, double, double, double, double); void (*draw_glyph) (PangoRenderer *, PangoFont *, PangoGlyph, double, double); void (*part_changed) (PangoRenderer *, PangoRenderPart); void (*begin) (PangoRenderer *); void (*end) (PangoRenderer *); void (*prepare_run) (PangoRenderer *, PangoLayoutRun *); void (*_pango_reserved1) (void); void (*_pango_reserved2) (void); void (*_pango_reserved3) (void); void (*_pango_reserved4) (void); } PangoRendererClass; typedef struct _PangoAttrLanguage { PangoAttribute attr; PangoLanguage *value; } PangoAttrLanguage; typedef struct _PangoAttrInt { PangoAttribute attr; int value; } PangoAttrInt; typedef struct _PangoAttrSize { PangoAttribute attr; int size; guint absolute:1; } PangoAttrSize; typedef struct _PangoLayoutClass PangoLayoutClass; extern GType pango_script_get_type(void); extern const char *pango_font_face_get_face_name(PangoFontFace *); extern PangoWrapMode pango_layout_get_wrap(PangoLayout *); extern void pango_layout_context_changed(PangoLayout *); extern gboolean pango_script_iter_next(PangoScriptIter *); extern PangoScript pango_script_for_unichar(gunichar); extern PangoFont *pango_context_load_font(PangoContext *, const PangoFontDescription *); extern gboolean pango_attribute_equal(const PangoAttribute *, const PangoAttribute *); extern void pango_get_log_attrs(const char *, int, int, PangoLanguage *, PangoLogAttr *, int); extern gboolean pango_color_parse(PangoColor *, const char *); extern gboolean pango_font_description_equal(const PangoFontDescription*, const PangoFontDescription*); extern PangoAttribute *pango_attr_rise_new(int); extern void pango_matrix_translate(PangoMatrix *, double, double); extern PangoLayoutRun *pango_layout_iter_get_run(PangoLayoutIter *); extern PangoLayout *pango_layout_new(PangoContext *); extern PangoAttribute *pango_attr_size_new(int); extern PangoAttribute *pango_attr_family_new(const char *); extern void pango_layout_set_markup_with_accel(PangoLayout *, const char *, int, gunichar, gunichar *); extern PangoLanguage *pango_script_get_sample_language(PangoScript); extern void pango_renderer_draw_trapezoid(PangoRenderer *, PangoRenderPart, double, double, double, double, double, double); extern void pango_attr_list_insert_before(PangoAttrList *, PangoAttribute *); extern PangoAttribute *pango_attr_underline_new(PangoUnderline); extern void pango_layout_line_unref(PangoLayoutLine *); extern void pango_glyph_string_get_logical_widths(PangoGlyphString *, const char *, int, int, int *); extern PangoStretch pango_font_description_get_stretch(const PangoFontDescription *); extern void pango_layout_iter_get_char_extents(PangoLayoutIter *, PangoRectangle *); extern PangoAttribute *pango_attr_scale_new(double); extern void pango_layout_set_width(PangoLayout *, int); extern void pango_layout_line_index_to_x(PangoLayoutLine *, int, int, int *); extern gboolean pango_font_family_is_monospace(PangoFontFamily *); extern void pango_font_descriptions_free(PangoFontDescription * *, int); extern void pango_layout_set_single_paragraph_mode(PangoLayout *, gboolean); extern char *pango_font_description_to_filename(const PangoFontDescription *); extern PangoLayout *pango_layout_copy(PangoLayout *); extern int pango_font_metrics_get_approximate_char_width(PangoFontMetrics *); extern void pango_shape(const gchar *, gint, PangoAnalysis *, PangoGlyphString *); extern void pango_layout_line_get_pixel_extents(PangoLayoutLine *, PangoRectangle *, PangoRectangle *); extern void pango_layout_set_wrap(PangoLayout *, PangoWrapMode); extern const char *pango_font_description_get_family(const PangoFontDescription *); extern void pango_tab_array_get_tabs(PangoTabArray *, PangoTabAlign * *, gint * *); extern void pango_script_iter_get_range(PangoScriptIter *, const char **, const char **, PangoScript *); extern gboolean pango_layout_iter_next_line(PangoLayoutIter *); extern void pango_layout_get_log_attrs(PangoLayout *, PangoLogAttr * *, gint *); extern void pango_tab_array_free(PangoTabArray *); extern PangoTabArray *pango_layout_get_tabs(PangoLayout *); extern PangoFontDescription *pango_font_describe(PangoFont *); extern void pango_context_set_font_description(PangoContext *, const PangoFontDescription *); extern gint pango_tab_array_get_size(PangoTabArray *); extern PangoAlignment pango_layout_get_alignment(PangoLayout *); extern const PangoMatrix *pango_renderer_get_matrix(PangoRenderer *); extern PangoAttrIterator *pango_attr_iterator_copy(PangoAttrIterator *); extern GType pango_style_get_type(void); extern PangoFontMask pango_font_description_get_set_fields(const PangoFontDescription *); extern gboolean pango_language_matches(PangoLanguage *, const char *); extern int pango_font_metrics_get_descent(PangoFontMetrics *); extern void pango_layout_get_extents(PangoLayout *, PangoRectangle *, PangoRectangle *); extern char *pango_font_description_to_string(const PangoFontDescription *); extern void pango_layout_set_justify(PangoLayout *, gboolean); extern void pango_find_paragraph_boundary(const gchar *, gint, gint *, gint *); extern PangoDirection pango_unichar_direction(gunichar); extern GList *pango_reorder_items(GList *); extern void pango_glyph_string_set_size(PangoGlyphString *, gint); extern PangoFontDescription *pango_font_description_from_string(const char *); extern int pango_font_metrics_get_strikethrough_position(PangoFontMetrics *); extern PangoEngineShape *pango_font_find_shaper(PangoFont *, PangoLanguage *, guint32); extern GType pango_glyph_string_get_type(void); extern PangoEllipsizeMode pango_layout_get_ellipsize(PangoLayout *); extern PangoFontDescription *pango_font_face_describe(PangoFontFace *); extern PangoMatrix *pango_matrix_copy(const PangoMatrix *); extern const PangoMatrix *pango_context_get_matrix(PangoContext *); extern void pango_attr_iterator_range(PangoAttrIterator *, gint *, gint*); extern void pango_context_set_language(PangoContext *, PangoLanguage *); extern void pango_glyph_item_letter_space(PangoGlyphItem *, const char *, PangoLogAttr *, int); extern void pango_coverage_max(PangoCoverage *, PangoCoverage *); extern PangoStyle pango_font_description_get_style(const PangoFontDescription*); extern void pango_layout_line_get_extents(PangoLayoutLine *, PangoRectangle *, PangoRectangle *); extern void pango_attribute_destroy(PangoAttribute *); extern PangoLayoutLine *pango_layout_get_line(PangoLayout *, int); extern gboolean pango_layout_get_auto_dir(PangoLayout *); extern int pango_font_metrics_get_approximate_digit_width(PangoFontMetrics *); extern void pango_attr_list_splice(PangoAttrList *, PangoAttrList *, gint, gint); extern PangoLayoutLine *pango_layout_iter_get_line(PangoLayoutIter *); extern PangoFontDescription *pango_font_description_new(void); extern PangoAttribute *pango_attr_font_desc_new(const PangoFontDescription *); extern PangoFontDescription *pango_font_description_copy_static(const PangoFontDescription *); extern void pango_font_metrics_unref(PangoFontMetrics *); extern PangoDirection pango_find_base_dir(const gchar *, gint); extern void pango_layout_iter_get_run_extents(PangoLayoutIter *, PangoRectangle *, PangoRectangle *); extern void pango_layout_index_to_pos(PangoLayout *, int, PangoRectangle *); extern const char *pango_font_family_get_name(PangoFontFamily *); extern void pango_layout_line_get_x_ranges(PangoLayoutLine *, int, int, int **, int *); extern void pango_item_free(PangoItem *); extern GType pango_renderer_get_type(void); extern void pango_layout_set_indent(PangoLayout *, int); extern void pango_layout_set_text(PangoLayout *, const char *, int); extern gint pango_font_description_get_size(const PangoFontDescription *); extern GType pango_fontset_get_type(void); extern GType pango_weight_get_type(void); extern guint pango_font_description_hash(const PangoFontDescription *); extern void pango_renderer_activate(PangoRenderer *); extern PangoContext *pango_layout_get_context(PangoLayout *); extern PangoCoverage *pango_coverage_new(void); extern PangoAttribute *pango_attr_strikethrough_new(gboolean); extern void pango_coverage_set(PangoCoverage *, int, PangoCoverageLevel); extern PangoFont *pango_font_map_load_font(PangoFontMap *, PangoContext*, const PangoFontDescription *); extern int pango_layout_iter_get_baseline(PangoLayoutIter *); extern gboolean pango_font_description_better_match(const PangoFontDescription *, const PangoFontDescription *, const PangoFontDescription *); extern void pango_layout_iter_get_line_extents(PangoLayoutIter *, PangoRectangle *, PangoRectangle *); extern PangoItem *pango_item_new(void); extern GType pango_font_mask_get_type(void); extern void pango_tab_array_get_tab(PangoTabArray *, gint, PangoTabAlign *, gint *); extern gboolean pango_attr_iterator_next(PangoAttrIterator *); extern gboolean pango_layout_get_justify(PangoLayout *); extern PangoCoverage *pango_coverage_ref(PangoCoverage *); extern PangoAttribute *pango_attr_foreground_new(guint16, guint16, guint16); extern PangoAttrList *pango_attr_list_filter(PangoAttrList *, PangoAttrFilterFunc, gpointer); extern PangoFontDescription *pango_context_get_font_description(PangoContext *); extern PangoTabArray *pango_tab_array_new_with_positions(gint, gboolean, PangoTabAlign, gint, ...); extern GSList *pango_glyph_item_apply_attrs(PangoGlyphItem *, const char *, PangoAttrList *); extern PangoAttribute *pango_attr_shape_new(const PangoRectangle *, const PangoRectangle *); extern GType pango_variant_get_type(void); extern void pango_layout_set_spacing(PangoLayout *, int); extern void pango_attr_list_ref(PangoAttrList *); extern void pango_font_description_set_family_static(PangoFontDescription *, const char *); extern gboolean pango_layout_iter_next_char(PangoLayoutIter *); extern void pango_glyph_string_index_to_x(PangoGlyphString *, char *, int, PangoAnalysis *, int, gboolean, int *); extern PangoAttribute *pango_attr_stretch_new(PangoStretch); extern GType pango_attr_type_get_type(void); extern GType pango_language_get_type(void); extern void pango_font_get_glyph_extents(PangoFont *, PangoGlyph, PangoRectangle *, PangoRectangle *); extern PangoAttribute *pango_attr_fallback_new(gboolean); extern void pango_font_description_merge_static(PangoFontDescription *, const PangoFontDescription *, gboolean); extern PangoAttrList *pango_layout_get_attributes(PangoLayout *); extern PangoFontset *pango_font_map_load_fontset(PangoFontMap *, PangoContext *, const PangoFontDescription *, PangoLanguage *); extern void pango_layout_set_tabs(PangoLayout *, PangoTabArray *); extern GType pango_attr_list_get_type(void); extern GType pango_font_family_get_type(void); extern void pango_matrix_free(PangoMatrix *); extern PangoAttribute *pango_attr_language_new(PangoLanguage *); extern void pango_layout_iter_get_cluster_extents(PangoLayoutIter *, PangoRectangle *, PangoRectangle *); extern PangoAttrType pango_attr_type_register(const gchar *); extern void pango_context_set_matrix(PangoContext *, const PangoMatrix *); extern void pango_layout_set_markup(PangoLayout *, const char *, int); extern GType pango_coverage_level_get_type(void); extern PangoTabArray *pango_tab_array_copy(PangoTabArray *); extern void pango_attr_list_change(PangoAttrList *, PangoAttribute *); extern PangoColor *pango_renderer_get_color(PangoRenderer *, PangoRenderPart); extern void pango_renderer_part_changed(PangoRenderer *, PangoRenderPart); extern void pango_glyph_string_x_to_index(PangoGlyphString *, char *, int, PangoAnalysis *, int, int *, gboolean *); extern void pango_tab_array_resize(PangoTabArray *, gint); extern void pango_break(const gchar *, gint, PangoAnalysis *, PangoLogAttr *, int); extern void pango_coverage_unref(PangoCoverage *); extern void pango_font_map_list_families(PangoFontMap *, PangoFontFamily * **, int *); extern void pango_matrix_concat(PangoMatrix *, const PangoMatrix *); extern PangoAttrList *pango_attr_list_copy(PangoAttrList *); extern GType pango_layout_iter_get_type(void); extern void pango_layout_set_attributes(PangoLayout *, PangoAttrList *); extern void pango_color_free(PangoColor *); extern PangoItem *pango_item_copy(PangoItem *); extern void pango_font_description_set_weight(PangoFontDescription *, PangoWeight); extern PangoAttribute *pango_attr_letter_spacing_new(int); extern PangoLanguage *pango_language_from_string(const char *); extern PangoAttribute *pango_attr_strikethrough_color_new(guint16, guint16, guint16); extern void pango_attr_list_insert(PangoAttrList *, PangoAttribute *); extern gboolean pango_layout_line_x_to_index(PangoLayoutLine *, int, int *, int *); extern PangoFontMap *pango_context_get_font_map(PangoContext *); extern GType pango_direction_get_type(void); extern void pango_layout_iter_get_layout_extents(PangoLayoutIter *, PangoRectangle *, PangoRectangle *); extern void pango_glyph_string_free(PangoGlyphString *); extern gboolean pango_tab_array_get_positions_in_pixels(PangoTabArray *); extern PangoFontMetrics *pango_fontset_get_metrics(PangoFontset *); extern int pango_layout_iter_get_index(PangoLayoutIter *); extern int pango_layout_get_spacing(PangoLayout *); extern gboolean pango_layout_get_single_paragraph_mode(PangoLayout *); extern GSList *pango_layout_get_lines(PangoLayout *); extern GType pango_underline_get_type(void); extern void pango_layout_get_pixel_extents(PangoLayout *, PangoRectangle *, PangoRectangle *); extern void pango_matrix_scale(PangoMatrix *, double, double); extern void pango_attr_iterator_destroy(PangoAttrIterator *); extern void pango_glyph_string_extents(PangoGlyphString *, PangoFont *, PangoRectangle *, PangoRectangle*); extern PangoTabArray *pango_tab_array_new(gint, gboolean); extern PangoAttribute *pango_attr_weight_new(PangoWeight); extern int pango_layout_get_width(PangoLayout *); extern gboolean pango_parse_markup(const char *, int, gunichar, PangoAttrList * *, char **, gunichar*, GError * *); extern void pango_matrix_rotate(PangoMatrix *, double); extern void pango_font_description_set_style(PangoFontDescription *, PangoStyle); extern void pango_layout_set_auto_dir(PangoLayout *, gboolean); extern GType pango_context_get_type(void); extern PangoAttribute *pango_attr_background_new(guint16, guint16, guint16); extern void pango_coverage_to_bytes(PangoCoverage *, guchar * *, int *); extern void pango_font_description_set_size(PangoFontDescription *, gint); extern void pango_attr_list_unref(PangoAttrList *); extern int pango_font_metrics_get_strikethrough_thickness(PangoFontMetrics *); extern PangoAttribute *pango_attr_size_new_absolute(int); extern PangoAttribute *pango_attribute_copy(const PangoAttribute *); extern PangoAttribute *pango_attr_iterator_get(PangoAttrIterator *, PangoAttrType); extern GType pango_matrix_get_type(void); extern PangoDirection pango_context_get_base_dir(PangoContext *); extern PangoAttribute *pango_attr_style_new(PangoStyle); extern void pango_attr_iterator_get_font(PangoAttrIterator *, PangoFontDescription *, PangoLanguage * *, GSList * *); extern void pango_renderer_draw_glyph(PangoRenderer *, PangoFont *, PangoGlyph, double, double); extern void pango_glyph_item_free(PangoGlyphItem *); extern gboolean pango_language_includes_script(PangoLanguage *, PangoScript); extern gboolean pango_font_description_get_size_is_absolute(const PangoFontDescription *); extern GSList *pango_attr_iterator_get_attrs(PangoAttrIterator *); extern GType pango_ellipsize_mode_get_type(void); extern void pango_font_face_list_sizes(PangoFontFace *, int **, int *); extern void pango_layout_get_size(PangoLayout *, int *, int *); extern void pango_renderer_draw_glyphs(PangoRenderer *, PangoFont *, PangoGlyphString *, int, int); extern GType pango_tab_array_get_type(void); extern PangoGlyphItem *pango_glyph_item_split(PangoGlyphItem *, const char *, int); extern PangoLayoutIter *pango_layout_get_iter(PangoLayout *); extern PangoGlyphString *pango_glyph_string_new(void); extern gboolean pango_layout_iter_next_run(PangoLayoutIter *); extern void pango_glyph_string_extents_range(PangoGlyphString *, int, int, PangoFont *, PangoRectangle *, PangoRectangle *); extern PangoWeight pango_font_description_get_weight(const PangoFontDescription *); extern GType pango_font_description_get_type(void); extern void pango_renderer_deactivate(PangoRenderer *); extern PangoGlyphString *pango_glyph_string_copy(PangoGlyphString *); extern void pango_script_iter_free(PangoScriptIter *); extern PangoCoverage *pango_coverage_from_bytes(guchar *, int); extern void pango_layout_iter_get_line_yrange(PangoLayoutIter *, int *, int *); extern GType pango_stretch_get_type(void); extern int pango_layout_get_line_count(PangoLayout *); extern void pango_layout_set_ellipsize(PangoLayout *, PangoEllipsizeMode); extern PangoCoverage *pango_font_get_coverage(PangoFont *, PangoLanguage *); extern PangoFontDescription *pango_font_description_copy(const PangoFontDescription *); extern void pango_fontset_foreach(PangoFontset *, PangoFontsetForeachFunc, gpointer); extern GType pango_font_get_type(void); extern void pango_layout_set_alignment(PangoLayout *, PangoAlignment); extern GType pango_layout_get_type(void); extern void pango_renderer_draw_layout_line(PangoRenderer *, PangoLayoutLine *, int, int); extern GType pango_alignment_get_type(void); extern void pango_renderer_draw_rectangle(PangoRenderer *, PangoRenderPart, int, int, int, int); extern void pango_context_list_families(PangoContext *, PangoFontFamily * **, int *); extern void pango_font_description_set_absolute_size(PangoFontDescription *, double); extern void pango_layout_iter_free(PangoLayoutIter *); extern PangoCoverageLevel pango_coverage_get(PangoCoverage *, int); extern void pango_renderer_draw_error_underline(PangoRenderer *, int, int, int, int); extern PangoFontset *pango_context_load_fontset(PangoContext *, const PangoFontDescription *, PangoLanguage *); extern void pango_layout_line_ref(PangoLayoutLine *); extern void pango_font_description_set_family(PangoFontDescription *, const char *); extern gboolean pango_layout_iter_at_last_line(PangoLayoutIter *); extern GType pango_render_part_get_type(void); extern PangoAttrList *pango_attr_list_new(void); extern void pango_font_description_set_stretch(PangoFontDescription *, PangoStretch); extern void pango_font_description_merge(PangoFontDescription *, const PangoFontDescription *, gboolean); extern int pango_font_metrics_get_underline_thickness(PangoFontMetrics *); extern const char *pango_layout_get_text(PangoLayout *); extern int pango_font_metrics_get_ascent(PangoFontMetrics *); extern PangoFont *pango_fontset_get_font(PangoFontset *, guint); extern void pango_renderer_draw_layout(PangoRenderer *, PangoLayout *, int, int); extern int pango_font_metrics_get_underline_position(PangoFontMetrics *); extern GType pango_color_get_type(void); extern PangoFontMetrics *pango_context_get_metrics(PangoContext *, const PangoFontDescription*, PangoLanguage *); extern gboolean pango_layout_xy_to_index(PangoLayout *, int, int, int *, gint *); extern void pango_renderer_set_matrix(PangoRenderer *, const PangoMatrix *); extern void pango_font_description_set_variant(PangoFontDescription *, PangoVariant); extern GList *pango_itemize(PangoContext *, const char *, int, int, PangoAttrList *, PangoAttrIterator *); extern void pango_layout_move_cursor_visually(PangoLayout *, gboolean, int, int, int, int *, int *); extern int pango_layout_get_indent(PangoLayout *); extern PangoAttrIterator *pango_attr_list_get_iterator(PangoAttrList *); extern void pango_layout_get_pixel_size(PangoLayout *, int *, int *); extern void pango_font_description_unset_fields(PangoFontDescription *, PangoFontMask); extern GType pango_tab_align_get_type(void); extern PangoItem *pango_item_split(PangoItem *, int, int); extern PangoFontMetrics *pango_font_metrics_ref(PangoFontMetrics *); extern void pango_context_set_base_dir(PangoContext *, PangoDirection); extern PangoAttribute *pango_attr_underline_color_new(guint16, guint16, guint16); extern gboolean pango_layout_iter_next_cluster(PangoLayoutIter *); extern PangoAttribute *pango_attr_variant_new(PangoVariant); extern GType pango_font_face_get_type(void); extern void pango_font_family_list_faces(PangoFontFamily *, PangoFontFace * **, int *); extern PangoColor *pango_color_copy(const PangoColor *); extern GType pango_wrap_mode_get_type(void); extern void pango_tab_array_set_tab(PangoTabArray *, gint, PangoTabAlign, gint); extern PangoAttribute *pango_attr_shape_new_with_data(const PangoRectangle *, const PangoRectangle *, gpointer, PangoAttrDataCopyFunc, GDestroyNotify); extern PangoVariant pango_font_description_get_variant(const PangoFontDescription *); extern void pango_font_description_free(PangoFontDescription *); extern GType pango_font_metrics_get_type(void); extern void pango_layout_get_cursor_pos(PangoLayout *, int, PangoRectangle *, PangoRectangle *); extern GList *pango_itemize_with_base_dir(PangoContext *, PangoDirection, const char *, int, int, PangoAttrList *, PangoAttrIterator *); extern PangoLanguage *pango_context_get_language(PangoContext *); extern void pango_renderer_set_color(PangoRenderer *, PangoRenderPart, const PangoColor *); extern GType pango_font_map_get_type(void); extern const PangoFontDescription *pango_layout_get_font_description(PangoLayout *); extern void pango_layout_set_font_description(PangoLayout *, const PangoFontDescription *); extern PangoFontMetrics *pango_font_get_metrics(PangoFont *, PangoLanguage *); extern PangoScriptIter *pango_script_iter_new(const char *, int); __________________________________________________________ 15.13. Interfaces for libpangoxft-1.0 Table 15-65 defines the library name and shared object name for the libpangoxft-1.0 library Table 15-65. libpangoxft-1.0 Definition Library: libpangoxft-1.0 SONAME: libpangoxft-1.0.so.0 The behavior of the interfaces in this library is specified by the following specifications: [Pango] Pango 1.8.0 Reference Manual __________________________________________________________ 15.13.1. Pango Xft Fonts and Rendering library __________________________________________________________ 15.13.1.1. Interfaces for Pango Xft Fonts and Rendering library An LSB conforming implementation shall provide the generic functions for Pango Xft Fonts and Rendering library specified in Table 15-66, with the full mandatory functionality as described in the referenced underlying specification. Table 15-66. libpangoxft-1.0 - Pango Xft Fonts and Rendering library Function Interfaces pango_xft_font_get_type [Pango] pango_xft_font_map_get_type [Pango] pango_xft_get_context [Pango] pango_xft_get_font_map [Pango] pango_xft_picture_render [Pango] pango_xft_render [Pango] pango_xft_render_layout [Pango] pango_xft_render_layout_line [Pango] pango_xft_render_transformed [Pango] pango_xft_renderer_get_type [Pango] pango_xft_renderer_new [Pango] pango_xft_renderer_set_default_color [Pango] pango_xft_renderer_set_draw [Pango] pango_xft_set_default_substitute [Pango] pango_xft_shutdown_display [Pango] pango_xft_substitute_changed [Pango] __________________________________________________________ 15.14. Data Definitions for libpangoxft-1.0 This section defines global identifiers and their values that are associated with interfaces contained in libpangoxft-1.0. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 15.14.1. pango-1.0/pango/pangoxft.h #define PANGO_XFT_RENDERER_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_XFT_RENDERER, \ PangoXftRendererClass)) #define PANGO_IS_XFT_RENDERER_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_XFT_RENDERER)) #define PANGO_XFT_FONT(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_XFT_FONT, \ PangoXftFont)) #define PANGO_XFT_FONT_MAP(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_XFT_FONT_MAP,\ PangoXftFontMap)) #define PANGO_XFT_RENDERER(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_XFT_RENDERER,\ PangoXftRenderer)) #define PANGO_XFT_IS_FONT(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_XFT_FONT)) #define PANGO_XFT_IS_FONT_MAP(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_XFT_FONT_MAP)) #define PANGO_IS_XFT_RENDERER(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_XFT_RENDERER)) #define PANGO_XFT_RENDERER_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_XFT_RENDERER, \ PangoXftRendererClass)) #define PANGO_TYPE_XFT_FONT (pango_xft_font_get_type ()) #define PANGO_TYPE_XFT_FONT_MAP (pango_xft_font_map_get_type ()) #define PANGO_TYPE_XFT_RENDERER (pango_xft_renderer_get_type()) #define PANGO_RENDER_TYPE_XFT "PangoRenderXft" typedef struct _PangoXftRenderer PangoXftRenderer; typedef void (*PangoXftSubstituteFunc) (FcPattern *, gpointer); typedef struct _PangoXftFontMap PangoXftFontMap; typedef struct _PangoXftRendererClass { PangoRendererClass parent_class; void (*composite_trapezoids) (PangoXftRenderer *, PangoRenderPart, XTrapezoid *, int); void (*composite_glyphs) (PangoXftRenderer *, XftFont *, XftGlyphSpec *, int); } PangoXftRendererClass; typedef struct _PangoFcFontClass PangoFcFontClass; typedef struct _PangoFcFont PangoFcFont; typedef struct _PangoXftFont PangoXftFont; typedef struct _PangoXftRendererPrivate PangoXftRendererPrivate; extern void pango_xft_substitute_changed(Display *, int); extern void pango_xft_render(XftDraw *, XftColor *, PangoFont *, PangoGlyphString *, gint, gint); extern PangoRenderer *pango_xft_renderer_new(Display *, int); extern GType pango_xft_renderer_get_type(void); extern void pango_xft_renderer_set_default_color(PangoXftRenderer *, PangoColor *); extern GType pango_xft_font_get_type(void); extern void pango_xft_picture_render(Display *, Picture, Picture, PangoFont *, PangoGlyphString *, gint, gint); extern void pango_xft_render_layout(XftDraw *, XftColor *, PangoLayout *, int, int); extern void pango_xft_render_transformed(XftDraw *, XftColor *, PangoMatrix *, PangoFont *, PangoGlyphString *, int, int); extern void pango_xft_renderer_set_draw(PangoXftRenderer *, XftDraw *); extern void pango_xft_render_layout_line(XftDraw *, XftColor *, PangoLayoutLine *, int, int); extern void pango_xft_shutdown_display(Display *, int); extern PangoFontMap *pango_xft_get_font_map(Display *, int); extern PangoContext *pango_xft_get_context(Display *, int); extern GType pango_xft_font_map_get_type(void); extern void pango_xft_set_default_substitute(Display *, int, PangoXftSubstituteFunc, gpointer, GDestroyNotify); __________________________________________________________ 15.15. Interfaces for libpangoft2-1.0 Table 15-67 defines the library name and shared object name for the libpangoft2-1.0 library Table 15-67. libpangoft2-1.0 Definition Library: libpangoft2-1.0 SONAME: libpangoft2-1.0.so.0 The behavior of the interfaces in this library is specified by the following specifications: [Pango] Pango 1.8.0 Reference Manual __________________________________________________________ 15.15.1. Pango Freetype Fonts and Rendering library __________________________________________________________ 15.15.1.1. Interfaces for Pango Freetype Fonts and Rendering library An LSB conforming implementation shall provide the generic functions for Pango Freetype Fonts and Rendering library specified in Table 15-68, with the full mandatory functionality as described in the referenced underlying specification. Table 15-68. libpangoft2-1.0 - Pango Freetype Fonts and Rendering library Function Interfaces pango_fc_decoder_get_charset [Pango] pango_fc_decoder_get_glyph [Pango] pango_fc_decoder_get_type [Pango] pango_fc_font_description_from_pattern [Pango] pango_fc_font_get_type [Pango] pango_fc_font_lock_face [Pango] pango_fc_font_map_add_decoder_find_func [Pango] pango_fc_font_map_get_type [Pango] pango_fc_font_unlock_face [Pango] pango_ft2_font_map_create_context [Pango] pango_ft2_font_map_get_type [Pango] pango_ft2_font_map_new [Pango] pango_ft2_font_map_set_default_substitute [Pango] pango_ft2_font_map_set_resolution [Pango] pango_ft2_font_map_substitute_changed [Pango] pango_ft2_render [Pango] pango_ft2_render_layout [Pango] pango_ft2_render_layout_line [Pango] pango_ft2_render_layout_line_subpixel [Pango] pango_ft2_render_layout_subpixel [Pango] pango_ft2_render_transformed [Pango] __________________________________________________________ 15.16. Data Definitions for libpangoft2-1.0 This section defines global identifiers and their values that are associated with interfaces contained in libpangoft2-1.0. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 15.16.1. pango-1.0/pango/pangofc-decoder.h #define PANGO_FC_DECODER_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FC_DECODER, \ PangoFcDecoderClass)) #define PANGO_IS_FC_DECODER_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FC_DECODER)) #define PANGO_FC_DECODER(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FC_DECODER, \ PangoFcDecoder)) #define PANGO_IS_FC_DECODER(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FC_DECODER)) #define PANGO_FC_DECODER_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FC_DECODER, \ PangoFcDecoderClass)) #define PANGO_TYPE_FC_DECODER (pango_fc_decoder_get_type()) typedef struct _PangoFcDecoder { GObject parent_instance; } PangoFcDecoder; typedef struct _PangoFcDecoderClass { GObjectClass parent_class; FcCharSet *(*get_charset) (PangoFcDecoder *, PangoFcFont *); PangoGlyph(*get_glyph) (PangoFcDecoder *, PangoFcFont *, guint32); void (*_pango_reserved1) (void); void (*_pango_reserved2) (void); void (*_pango_reserved3) (void); void (*_pango_reserved4) (void); } PangoFcDecoderClass; extern FcCharSet *pango_fc_decoder_get_charset(PangoFcDecoder *, PangoFcFont *); extern PangoGlyph pango_fc_decoder_get_glyph(PangoFcDecoder *, PangoFcFont *, guint32); extern GType pango_fc_decoder_get_type(void); __________________________________________________________ 15.16.2. pango-1.0/pango/pangofc-fontmap.h #define PANGO_FC_FONT_MAP(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FC_FONT_MAP, \ PangoFcFontMap)) #define PANGO_IS_FC_FONT_MAP(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FC_FONT_MAP)) #define PANGO_TYPE_FC_FONT_MAP (pango_fc_font_map_get_type ()) typedef struct _PangoFcFontMap PangoFcFontMap; typedef PangoFcDecoder *(*PangoFcDecoderFindFunc) (FcPattern *, gpointer); typedef struct _PangoFcFontMapClass PangoFcFontMapClass; extern void pango_fc_font_map_add_decoder_find_func(PangoFcFontMap *, PangoFcDecoderFindFunc, gpointer, GDestroyNotify); extern PangoFontDescription *pango_fc_font_description_from_pattern(FcPattern *, gboolean); extern GType pango_fc_font_map_get_type(void); __________________________________________________________ 15.16.3. pango-1.0/pango/pangoft2.h #define PANGO_FC_FONT(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FC_FONT, \ PangoFcFont)) #define PANGO_FT2_FONT_MAP(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FT2_FONT_MAP,\ PangoFT2FontMap)) #define PANGO_IS_FC_FONT(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FC_FONT)) #define PANGO_FT2_IS_FONT_MAP(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FT2_FONT_MAP)) #define PANGO_TYPE_FC_FONT (pango_fc_font_get_type ()) #define PANGO_TYPE_FT2_FONT_MAP (pango_ft2_font_map_get_type ()) typedef struct _PangoFT2FontMap PangoFT2FontMap; typedef void (*PangoFT2SubstituteFunc) (FcPattern *, gpointer); extern void pango_ft2_font_map_set_default_substitute(PangoFT2FontMap *, PangoFT2SubstituteFunc, gpointer, GDestroyNotify); extern void pango_fc_font_unlock_face(PangoFcFont *); extern GType pango_ft2_font_map_get_type(void); extern void pango_ft2_render_transformed(FT_Bitmap *, const PangoMatrix*, PangoFont *, PangoGlyphString *, int, int); extern PangoContext *pango_ft2_font_map_create_context(PangoFT2FontMap *); extern void pango_ft2_render_layout_subpixel(FT_Bitmap *, PangoLayout *, int, int); extern void pango_ft2_render_layout(FT_Bitmap *, PangoLayout *, int, int); extern void pango_ft2_font_map_set_resolution(PangoFT2FontMap *, double, double); extern void pango_ft2_render(FT_Bitmap *, PangoFont *, PangoGlyphString*, int, int); extern void pango_ft2_font_map_substitute_changed(PangoFT2FontMap *); extern void pango_ft2_render_layout_line(FT_Bitmap *, PangoLayoutLine *, int, int); extern GType pango_fc_font_get_type(void); extern void pango_ft2_render_layout_line_subpixel(FT_Bitmap *, PangoLayoutLine *, int, int); extern FT_Face pango_fc_font_lock_face(PangoFcFont *); extern PangoFontMap *pango_ft2_font_map_new(void); __________________________________________________________ 15.17. Interfaces for libgdk_pixbuf-2.0 Table 15-69 defines the library name and shared object name for the libgdk_pixbuf-2.0 library Table 15-69. libgdk_pixbuf-2.0 Definition Library: libgdk_pixbuf-2.0 SONAME: libgdk_pixbuf-2.0.so.0 The behavior of the interfaces in this library is specified by the following specifications: [Gdk-pixbuf] Gdk-pixbuf 2.6.2 Reference Manual __________________________________________________________ 15.17.1. GDK pixbuf rendering on drawables library __________________________________________________________ 15.17.1.1. Interfaces for GDK pixbuf rendering on drawables library An LSB conforming implementation shall provide the generic functions for GDK pixbuf rendering on drawables library specified in Table 15-70, with the full mandatory functionality as described in the referenced underlying specification. Table 15-70. libgdk_pixbuf-2.0 - GDK pixbuf rendering on drawables library Function Interfaces gdk_colorspace_get_type [Gdk-pixbuf] gdk_interp_type_get_type [Gdk-pixbuf] gdk_pixbuf_add_alpha [Gdk-pixbuf] gdk_pixbuf_alpha_mode_get_type [Gdk-pixbuf] gdk_pixbuf_animation_get_height [Gdk-pixbuf] gdk_pixbuf_animation_get_iter [Gdk-pixbuf] gdk_pixbuf_animation_get_static_image [Gdk-pixbuf] gdk_pixbuf_animation_get_type [Gdk-pixbuf] gdk_pixbuf_animation_get_width [Gdk-pixbuf] gdk_pixbuf_animation_is_static_image [Gdk-pixbuf] gdk_pixbuf_animation_iter_advance [Gdk-pixbuf] gdk_pixbuf_animation_iter_get_delay_time [Gdk-pixbuf] gdk_pixbuf_animation_iter_get_pixbuf [Gdk-pixbuf] gdk_pixbuf_animation_iter_get_type [Gdk-pixbuf] gdk_pixbuf_animation_iter_on_currently_loading_frame [Gdk-pixbuf] gdk_pixbuf_animation_new_from_file [Gdk-pixbuf] gdk_pixbuf_composite [Gdk-pixbuf] gdk_pixbuf_composite_color [Gdk-pixbuf] gdk_pixbuf_composite_color_simple [Gdk-pixbuf] gdk_pixbuf_copy [Gdk-pixbuf] gdk_pixbuf_copy_area [Gdk-pixbuf] gdk_pixbuf_error_get_type [Gdk-pixbuf] gdk_pixbuf_error_quark [Gdk-pixbuf] gdk_pixbuf_fill [Gdk-pixbuf] gdk_pixbuf_flip [Gdk-pixbuf] gdk_pixbuf_format_get_description [Gdk-pixbuf] gdk_pixbuf_format_get_extensions [Gdk-pixbuf] gdk_pixbuf_format_get_license [Gdk-pixbuf] gdk_pixbuf_format_get_mime_types [Gdk-pixbuf] gdk_pixbuf_format_get_name [Gdk-pixbuf] gdk_pixbuf_format_is_disabled [Gdk-pixbuf] gdk_pixbuf_format_is_scalable [Gdk-pixbuf] gdk_pixbuf_format_is_writable [Gdk-pixbuf] gdk_pixbuf_format_set_disabled [Gdk-pixbuf] gdk_pixbuf_from_pixdata [Gdk-pixbuf] gdk_pixbuf_get_bits_per_sample [Gdk-pixbuf] gdk_pixbuf_get_colorspace [Gdk-pixbuf] gdk_pixbuf_get_file_info [Gdk-pixbuf] gdk_pixbuf_get_formats [Gdk-pixbuf] gdk_pixbuf_get_has_alpha [Gdk-pixbuf] gdk_pixbuf_get_height [Gdk-pixbuf] gdk_pixbuf_get_n_channels [Gdk-pixbuf] gdk_pixbuf_get_option [Gdk-pixbuf] gdk_pixbuf_get_pixels [Gdk-pixbuf] gdk_pixbuf_get_rowstride [Gdk-pixbuf] gdk_pixbuf_get_type [Gdk-pixbuf] gdk_pixbuf_get_width [Gdk-pixbuf] gdk_pixbuf_loader_close [Gdk-pixbuf] gdk_pixbuf_loader_get_animation [Gdk-pixbuf] gdk_pixbuf_loader_get_format [Gdk-pixbuf] gdk_pixbuf_loader_get_pixbuf [Gdk-pixbuf] gdk_pixbuf_loader_get_type [Gdk-pixbuf] gdk_pixbuf_loader_new [Gdk-pixbuf] gdk_pixbuf_loader_new_with_mime_type [Gdk-pixbuf] gdk_pixbuf_loader_new_with_type [Gdk-pixbuf] gdk_pixbuf_loader_set_size [Gdk-pixbuf] gdk_pixbuf_loader_write [Gdk-pixbuf] gdk_pixbuf_new [Gdk-pixbuf] gdk_pixbuf_new_from_data [Gdk-pixbuf] gdk_pixbuf_new_from_file [Gdk-pixbuf] gdk_pixbuf_new_from_file_at_scale [Gdk-pixbuf] gdk_pixbuf_new_from_file_at_size [Gdk-pixbuf] gdk_pixbuf_new_from_inline [Gdk-pixbuf] gdk_pixbuf_new_from_xpm_data [Gdk-pixbuf] gdk_pixbuf_new_subpixbuf [Gdk-pixbuf] gdk_pixbuf_rotate_simple [Gdk-pixbuf] gdk_pixbuf_rotation_get_type [Gdk-pixbuf] gdk_pixbuf_saturate_and_pixelate [Gdk-pixbuf] gdk_pixbuf_save [Gdk-pixbuf] gdk_pixbuf_save_to_buffer [Gdk-pixbuf] gdk_pixbuf_save_to_bufferv [Gdk-pixbuf] gdk_pixbuf_save_to_callback [Gdk-pixbuf] gdk_pixbuf_save_to_callbackv [Gdk-pixbuf] gdk_pixbuf_savev [Gdk-pixbuf] gdk_pixbuf_scale [Gdk-pixbuf] gdk_pixbuf_scale_simple [Gdk-pixbuf] gdk_pixdata_deserialize [Gdk-pixbuf] gdk_pixdata_from_pixbuf [Gdk-pixbuf] gdk_pixdata_serialize [Gdk-pixbuf] gdk_pixdata_to_csource [Gdk-pixbuf] An LSB conforming implementation shall provide the generic data interfaces for GDK pixbuf rendering on drawables library specified in Table 15-71, with the full mandatory functionality as described in the referenced underlying specification. Table 15-71. libgdk_pixbuf-2.0 - GDK pixbuf rendering on drawables library Data Interfaces gdk_pixbuf_major_version [Gdk-pixbuf] gdk_pixbuf_micro_version [Gdk-pixbuf] gdk_pixbuf_minor_version [Gdk-pixbuf] gdk_pixbuf_version [Gdk-pixbuf] __________________________________________________________ 15.18. Data Definitions for libgdk_pixbuf-2.0 This section defines global identifiers and their values that are associated with interfaces contained in libgdk_pixbuf-2.0. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 15.18.1. gtk-2.0/gdk-pixbuf/gdk-pixbuf.h #define GDK_TYPE_PIXBUF_ANIMATION_ITER \ (gdk_pixbuf_animation_iter_get_type ()) #define GDK_PIXBUF_LOADER_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_PIXBUF_LOADER, \ GdkPixbufLoaderClass)) #define GDK_IS_PIXBUF_LOADER_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_PIXBUF_LOADER)) #define GDK_PIXBUF_LOADER(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_PIXBUF_LOADER, \ GdkPixbufLoader)) #define GDK_PIXBUF(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_PIXBUF, GdkPixbuf)) #define GDK_PIXBUF_ANIMATION(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_PIXBUF_ANIMATION, \ GdkPixbufAnimation)) #define GDK_PIXBUF_ANIMATION_ITER(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), \ GDK_TYPE_PIXBUF_ANIMATION_ITER, GdkPixbufAnimationIter)) #define GDK_IS_PIXBUF_LOADER(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_PIXBUF_LOADER)) #define GDK_IS_PIXBUF(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_PIXBUF)) #define GDK_IS_PIXBUF_ANIMATION(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_PIXBUF_ANIMATION)) #define GDK_IS_PIXBUF_ANIMATION_ITER(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), \ GDK_TYPE_PIXBUF_ANIMATION_ITER)) #define GDK_PIXBUF_LOADER_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_PIXBUF_LOADER, \ GdkPixbufLoaderClass)) #define GDK_PIXBUF_MICRO (10) #define GDK_PIXBUF_MAJOR (2) #define GDK_PIXBUF_MINOR (6) #define GDK_TYPE_COLORSPACE (gdk_colorspace_get_type()) #define GDK_TYPE_INTERP_TYPE (gdk_interp_type_get_type()) #define GDK_TYPE_PIXBUF_ALPHA_MODE (gdk_pixbuf_alpha_mode_get_type()) #define GDK_TYPE_PIXBUF_ANIMATION (gdk_pixbuf_animation_get_type ()) #define GDK_TYPE_PIXBUF_ERROR (gdk_pixbuf_error_get_type()) #define GDK_TYPE_PIXBUF (gdk_pixbuf_get_type ()) #define GDK_TYPE_PIXBUF_LOADER (gdk_pixbuf_loader_get_type ()) #define GDK_TYPE_PIXBUF_ROTATION (gdk_pixbuf_rotation_get_type()) #define GDK_PIXBUF_VERSION "2.6.10" #define GDK_PIXBUF_VAR extern #define GDK_PIXBUF_ERROR gdk_pixbuf_error_quark () typedef struct _GdkPixbuf GdkPixbuf; typedef gboolean(*GdkPixbufSaveFunc) (const gchar *, gsize, GError * *, gpointer); typedef struct _GdkPixbufLoader { GObject parent_instance; gpointer priv; } GdkPixbufLoader; typedef struct _GdkPixbufFormat GdkPixbufFormat; typedef enum { GDK_INTERP_NEAREST = 0, GDK_INTERP_TILES = 1, GDK_INTERP_BILINEAR = 2, GDK_INTERP_HYPER = 3 } GdkInterpType; typedef enum { GDK_COLORSPACE_RGB = 0 } GdkColorspace; typedef void (*GdkPixbufDestroyNotify) (guchar *, gpointer); typedef struct _GdkPixbufAnimationIter GdkPixbufAnimationIter; typedef struct _GdkPixbufAnimation GdkPixbufAnimation; typedef enum { GDK_PIXBUF_ROTATE_NONE = 0, GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE = 90, GDK_PIXBUF_ROTATE_UPSIDEDOWN = 180, GDK_PIXBUF_ROTATE_CLOCKWISE = 270 } GdkPixbufRotation; typedef struct _GdkPixbufLoaderClass { GObjectClass parent_class; void (*size_prepared) (GdkPixbufLoader *, int, int); void (*area_prepared) (GdkPixbufLoader *); void (*area_updated) (GdkPixbufLoader *, int, int, int, int); void (*closed) (GdkPixbufLoader *); } GdkPixbufLoaderClass; typedef enum { GDK_PIXBUF_ERROR_CORRUPT_IMAGE, GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY, GDK_PIXBUF_ERROR_BAD_OPTION, GDK_PIXBUF_ERROR_UNKNOWN_TYPE, GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION, GDK_PIXBUF_ERROR_FAILED } GdkPixbufError; typedef enum { GDK_PIXBUF_ALPHA_BILEVEL, GDK_PIXBUF_ALPHA_FULL } GdkPixbufAlphaMode; extern gboolean gdk_pixbuf_save_to_callbackv(GdkPixbuf *, GdkPixbufSaveFunc, gpointer, const char *, char **, char **, GError * *); extern gboolean gdk_pixbuf_save_to_bufferv(GdkPixbuf *, gchar * *, gsize *, const char *, char **, char **, GError * *); extern GdkPixbuf *gdk_pixbuf_new_from_file_at_scale(const char *, int, int, gboolean, GError * *); extern GdkPixbufLoader *gdk_pixbuf_loader_new_with_type(const char *, GError * *); extern GSList *gdk_pixbuf_get_formats(void); extern guchar *gdk_pixbuf_get_pixels(const GdkPixbuf *); extern const guint gdk_pixbuf_minor_version; extern void gdk_pixbuf_format_set_disabled(GdkPixbufFormat *, gboolean); extern gboolean gdk_pixbuf_format_is_scalable(GdkPixbufFormat *); extern int gdk_pixbuf_get_n_channels(const GdkPixbuf *); extern GdkPixbuf *gdk_pixbuf_scale_simple(const GdkPixbuf *, int, int, GdkInterpType); extern GdkPixbuf *gdk_pixbuf_new_from_data(const guchar *, GdkColorspace, gboolean, int, int, int, int, GdkPixbufDestroyNotify, gpointer); extern gboolean gdk_pixbuf_loader_close(GdkPixbufLoader *, GError * *); extern GType gdk_pixbuf_animation_get_type(void); extern gboolean gdk_pixbuf_save_to_buffer(GdkPixbuf *, gchar * *, gsize*, const char *, GError * *, ...); extern GType gdk_interp_type_get_type(void); extern GdkPixbuf *gdk_pixbuf_new_from_file_at_size(const char *, int, int, GError * *); extern GdkPixbuf *gdk_pixbuf_new_from_xpm_data(const char **); extern GdkPixbufLoader *gdk_pixbuf_loader_new(void); extern gboolean gdk_pixbuf_save_to_callback(GdkPixbuf *, GdkPixbufSaveFunc, gpointer, const char *, GError * *, ...); extern GdkPixbuf *gdk_pixbuf_add_alpha(const GdkPixbuf *, gboolean, guchar, guchar, guchar); extern gboolean gdk_pixbuf_animation_iter_advance(GdkPixbufAnimationIter *, const GTimeVal *); extern void gdk_pixbuf_saturate_and_pixelate(const GdkPixbuf *, GdkPixbuf *, gfloat, gboolean); extern GType gdk_pixbuf_animation_iter_get_type(void); extern int gdk_pixbuf_get_bits_per_sample(const GdkPixbuf *); extern GdkPixbuf *gdk_pixbuf_new_from_inline(gint, const guint8 *, gboolean, GError * *); extern const guint gdk_pixbuf_major_version; extern GdkPixbuf *gdk_pixbuf_animation_get_static_image(GdkPixbufAnimation *); extern const guint gdk_pixbuf_micro_version; extern int gdk_pixbuf_get_height(const GdkPixbuf *); extern GdkPixbuf *gdk_pixbuf_flip(const GdkPixbuf *, gboolean); extern GdkPixbufAnimationIter *gdk_pixbuf_animation_get_iter(GdkPixbufAnimation *, const GTimeVal*); extern gboolean gdk_pixbuf_animation_iter_on_currently_loading_frame(GdkPixbufAnimationIter *); extern GdkPixbufAnimation *gdk_pixbuf_loader_get_animation(GdkPixbufLoader *); extern int gdk_pixbuf_get_rowstride(const GdkPixbuf *); extern GdkPixbuf *gdk_pixbuf_new_from_file(const char *, GError * *); extern void gdk_pixbuf_loader_set_size(GdkPixbufLoader *, gint, gint); extern GType gdk_pixbuf_loader_get_type(void); extern GdkPixbuf *gdk_pixbuf_composite_color_simple(const GdkPixbuf *, int, int, GdkInterpType, int, int, guint32, guint32); extern gboolean gdk_pixbuf_save(GdkPixbuf *, const char *, const char *, GError * *, ...); extern GdkPixbuf *gdk_pixbuf_new_subpixbuf(GdkPixbuf *, int, int, int, int); extern gchar *gdk_pixbuf_format_get_license(GdkPixbufFormat *); extern GdkPixbufAnimation *gdk_pixbuf_animation_new_from_file(const char *, GError * *); extern void gdk_pixbuf_fill(GdkPixbuf *, guint32); extern void gdk_pixbuf_composite_color(const GdkPixbuf *, GdkPixbuf *, int, int, int, int, double, double, double, double, GdkInterpType, int, int, int, int, guint32, guint32); extern void gdk_pixbuf_composite(const GdkPixbuf *, GdkPixbuf *, int, int, int, int, double, double, double, double, GdkInterpType, int); extern int gdk_pixbuf_animation_get_width(GdkPixbufAnimation *); extern gboolean gdk_pixbuf_animation_is_static_image(GdkPixbufAnimation*); extern void gdk_pixbuf_scale(const GdkPixbuf *, GdkPixbuf *, int, int, int, int, double, double, double, double, GdkInterpType); extern GdkPixbuf *gdk_pixbuf_animation_iter_get_pixbuf(GdkPixbufAnimationIter *); extern const char *gdk_pixbuf_version; extern gchar *gdk_pixbuf_format_get_name(GdkPixbufFormat *); extern gchar **gdk_pixbuf_format_get_mime_types(GdkPixbufFormat *); extern GType gdk_pixbuf_rotation_get_type(void); extern GType gdk_colorspace_get_type(void); extern GdkPixbufFormat *gdk_pixbuf_loader_get_format(GdkPixbufLoader *); extern GType gdk_pixbuf_alpha_mode_get_type(void); extern gboolean gdk_pixbuf_format_is_disabled(GdkPixbufFormat *); extern GdkPixbuf *gdk_pixbuf_rotate_simple(const GdkPixbuf *, GdkPixbufRotation); extern void gdk_pixbuf_copy_area(const GdkPixbuf *, int, int, int, int, GdkPixbuf *, int, int); extern GQuark gdk_pixbuf_error_quark(void); extern gboolean gdk_pixbuf_format_is_writable(GdkPixbufFormat *); extern GType gdk_pixbuf_get_type(void); extern GdkPixbufFormat *gdk_pixbuf_get_file_info(const gchar *, gint *, gint *); extern GdkPixbuf *gdk_pixbuf_copy(const GdkPixbuf *); extern gboolean gdk_pixbuf_savev(GdkPixbuf *, const char *, const char *, char **, char **, GError * *); extern gchar *gdk_pixbuf_format_get_description(GdkPixbufFormat *); extern GdkPixbuf *gdk_pixbuf_loader_get_pixbuf(GdkPixbufLoader *); extern gboolean gdk_pixbuf_loader_write(GdkPixbufLoader *, const guchar*, gsize, GError * *); extern int gdk_pixbuf_animation_get_height(GdkPixbufAnimation *); extern int gdk_pixbuf_get_width(const GdkPixbuf *); extern GdkPixbuf *gdk_pixbuf_new(GdkColorspace, gboolean, int, int, int); extern gchar **gdk_pixbuf_format_get_extensions(GdkPixbufFormat *); extern GdkColorspace gdk_pixbuf_get_colorspace(const GdkPixbuf *); extern GdkPixbufLoader *gdk_pixbuf_loader_new_with_mime_type(const char*, GError * *); extern GType gdk_pixbuf_error_get_type(void); extern gboolean gdk_pixbuf_get_has_alpha(const GdkPixbuf *); extern const gchar *gdk_pixbuf_get_option(GdkPixbuf *, const gchar *); extern int gdk_pixbuf_animation_iter_get_delay_time(GdkPixbufAnimationIter *); __________________________________________________________ 15.18.2. gtk-2.0/gdk-pixbuf/gdk-pixdata.h #define GDK_PIXBUF_MAGIC_NUMBER (0x47646b50) #define GDK_PIXDATA_HEADER_LENGTH (4 + 4 + 4 + 4 + 4 + 4) typedef struct _GdkPixdata { guint32 magic; gint32 length; guint32 pixdata_type; guint32 rowstride; guint32 width; guint32 height; guint8 *pixel_data; } GdkPixdata; typedef enum { GDK_PIXDATA_DUMP_PIXDATA_STREAM = 0, GDK_PIXDATA_DUMP_PIXDATA_STRUCT = 1, GDK_PIXDATA_DUMP_MACROS = 2, GDK_PIXDATA_DUMP_GTYPES = 0, GDK_PIXDATA_DUMP_CTYPES = 256, GDK_PIXDATA_DUMP_STATIC = 512, GDK_PIXDATA_DUMP_CONST = 1024, GDK_PIXDATA_DUMP_RLE_DECODER = 65536 } GdkPixdataDumpType; typedef enum { GDK_PIXDATA_COLOR_TYPE_RGB = 0x01, GDK_PIXDATA_COLOR_TYPE_RGBA = 0x02, GDK_PIXDATA_COLOR_TYPE_MASK = 0xff, GDK_PIXDATA_SAMPLE_WIDTH_8 = 0x01 << 16, GDK_PIXDATA_SAMPLE_WIDTH_MASK = 0x0f << 16, GDK_PIXDATA_ENCODING_RAW = 0x01 << 24, GDK_PIXDATA_ENCODING_RLE = 0x02 << 24, GDK_PIXDATA_ENCODING_MASK = 0x0f << 24 } GdkPixdataType; extern gboolean gdk_pixdata_deserialize(GdkPixdata *, guint, const guint8 *, GError * *); extern gpointer gdk_pixdata_from_pixbuf(GdkPixdata *, const GdkPixbuf *, gboolean); extern guint8 *gdk_pixdata_serialize(const GdkPixdata *, guint *); extern GString *gdk_pixdata_to_csource(GdkPixdata *, const gchar *, GdkPixdataDumpType); extern GdkPixbuf *gdk_pixbuf_from_pixdata(const GdkPixdata *, gboolean, GError * *); __________________________________________________________ 15.19. Interfaces for libgdk_pixbuf_xlib-2.0 Table 15-72 defines the library name and shared object name for the libgdk_pixbuf_xlib-2.0 library Table 15-72. libgdk_pixbuf_xlib-2.0 Definition Library: libgdk_pixbuf_xlib-2.0 SONAME: libgdk_pixbuf_xlib-2.0.so.0 The behavior of the interfaces in this library is specified by the following specifications: [Gdk-pixbuf] Gdk-pixbuf 2.6.2 Reference Manual __________________________________________________________ 15.19.1. GDK pixbuf rendering to an X drawable library __________________________________________________________ 15.19.1.1. Interfaces for GDK pixbuf rendering to an X drawable library An LSB conforming implementation shall provide the generic functions for GDK pixbuf rendering to an X drawable library specified in Table 15-73, with the full mandatory functionality as described in the referenced underlying specification. Table 15-73. libgdk_pixbuf_xlib-2.0 - GDK pixbuf rendering to an X drawable library Function Interfaces gdk_pixbuf_xlib_get_from_drawable [Gdk-pixbuf] gdk_pixbuf_xlib_init [Gdk-pixbuf] gdk_pixbuf_xlib_init_with_depth [Gdk-pixbuf] gdk_pixbuf_xlib_render_pixmap_and_mask [Gdk-pixbuf] gdk_pixbuf_xlib_render_threshold_alpha [Gdk-pixbuf] gdk_pixbuf_xlib_render_to_drawable [Gdk-pixbuf] gdk_pixbuf_xlib_render_to_drawable_alpha [Gdk-pixbuf] xlib_draw_gray_image [Gdk-pixbuf] xlib_draw_indexed_image [Gdk-pixbuf] xlib_draw_rgb_32_image [Gdk-pixbuf] xlib_draw_rgb_image [Gdk-pixbuf] xlib_draw_rgb_image_dithalign [Gdk-pixbuf] xlib_rgb_cmap_free [Gdk-pixbuf] xlib_rgb_cmap_new [Gdk-pixbuf] xlib_rgb_ditherable [Gdk-pixbuf] xlib_rgb_gc_set_background [Gdk-pixbuf] xlib_rgb_gc_set_foreground [Gdk-pixbuf] xlib_rgb_get_cmap [Gdk-pixbuf] xlib_rgb_get_depth [Gdk-pixbuf] xlib_rgb_get_display [Gdk-pixbuf] xlib_rgb_get_screen [Gdk-pixbuf] xlib_rgb_get_visual [Gdk-pixbuf] xlib_rgb_get_visual_info [Gdk-pixbuf] xlib_rgb_init [Gdk-pixbuf] xlib_rgb_init_with_depth [Gdk-pixbuf] xlib_rgb_set_install [Gdk-pixbuf] xlib_rgb_set_min_colors [Gdk-pixbuf] xlib_rgb_set_verbose [Gdk-pixbuf] xlib_rgb_xpixel_from_rgb [Gdk-pixbuf] __________________________________________________________ 15.20. Data Definitions for libgdk_pixbuf_xlib-2.0 This section defines global identifiers and their values that are associated with interfaces contained in libgdk_pixbuf_xlib-2.0. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 15.20.1. gtk-2.0/gdk-pixbuf-xlib/gdk-pixbuf-xlib.h typedef enum { XLIB_RGB_DITHER_NONE = 0, XLIB_RGB_DITHER_NORMAL = 1, XLIB_RGB_DITHER_MAX = 2 } XlibRgbDither; typedef struct _XlibRgbCmap { unsigned int colors[256]; unsigned char lut[256]; } XlibRgbCmap; extern void gdk_pixbuf_xlib_init_with_depth(Display *, int, int); extern Visual *xlib_rgb_get_visual(void); extern void gdk_pixbuf_xlib_render_to_drawable(GdkPixbuf *, Drawable, GC, int, int, int, int, int, int, XlibRgbDither, int, int); extern GdkPixbuf *gdk_pixbuf_xlib_get_from_drawable(GdkPixbuf *, Drawable, Colormap, Visual *, int, int, int, int, int, int); extern XVisualInfo *xlib_rgb_get_visual_info(void); extern void xlib_rgb_set_install(int); extern void xlib_rgb_cmap_free(XlibRgbCmap *); extern int xlib_rgb_get_depth(void); extern long unsigned int xlib_rgb_xpixel_from_rgb(guint32); extern void xlib_rgb_gc_set_foreground(GC, guint32); extern void xlib_rgb_set_verbose(int); extern int xlib_rgb_ditherable(void); extern void xlib_rgb_set_min_colors(int); extern void gdk_pixbuf_xlib_render_threshold_alpha(GdkPixbuf *, Pixmap, int, int, int, int, int, int, int); extern Display *xlib_rgb_get_display(void); extern void xlib_rgb_init(Display *, Screen *); extern void gdk_pixbuf_xlib_init(Display *, int); extern Screen *xlib_rgb_get_screen(void); extern Colormap xlib_rgb_get_cmap(void); extern void xlib_draw_gray_image(Drawable, GC, int, int, int, int, XlibRgbDither, unsigned char *, int); extern void xlib_draw_indexed_image(Drawable, GC, int, int, int, int, XlibRgbDither, unsigned char *, int, XlibRgbCmap *); extern XlibRgbCmap *xlib_rgb_cmap_new(guint32 *, int); extern void xlib_draw_rgb_32_image(Drawable, GC, int, int, int, int, XlibRgbDither, unsigned char *, int); extern void xlib_draw_rgb_image_dithalign(Drawable, GC, int, int, int, int, XlibRgbDither, unsigned char *, int, int, int); extern void xlib_rgb_gc_set_background(GC, guint32); extern void gdk_pixbuf_xlib_render_pixmap_and_mask(GdkPixbuf *, Pixmap *, Pixmap *, int); extern void gdk_pixbuf_xlib_render_to_drawable_alpha(GdkPixbuf *, Drawable, int, int, int, int, int, int, GdkPixbufAlphaMode, int, XlibRgbDither, int, int); extern void xlib_draw_rgb_image(Drawable, GC, int, int, int, int, XlibRgbDither, unsigned char *, int); extern void xlib_rgb_init_with_depth(Display *, Screen *, int); __________________________________________________________ 15.21. Interfaces for libgdk-x11-2.0 Table 15-74 defines the library name and shared object name for the libgdk-x11-2.0 library Table 15-74. libgdk-x11-2.0 Definition Library: libgdk-x11-2.0 SONAME: libgdk-x11-2.0.so.0 The behavior of the interfaces in this library is specified by the following specifications: [Gdk] Gdk 2.6.2 Reference Manual __________________________________________________________ 15.21.1. GTK Drawing toolkit __________________________________________________________ 15.21.1.1. Interfaces for GTK Drawing toolkit An LSB conforming implementation shall provide the generic functions for GTK Drawing toolkit specified in Table 15-75, with the full mandatory functionality as described in the referenced underlying specification. Table 15-75. libgdk-x11-2.0 - GTK Drawing toolkit Function Interfaces gdk_add_client_message_filter [Gdk] gdk_atom_intern [Gdk] gdk_atom_name [Gdk] gdk_axis_use_get_type [Gdk] gdk_beep [Gdk] gdk_bitmap_create_from_data [Gdk] gdk_byte_order_get_type [Gdk] gdk_cap_style_get_type [Gdk] gdk_color_copy [Gdk] gdk_color_equal [Gdk] gdk_color_free [Gdk] gdk_color_get_type [Gdk] gdk_color_hash [Gdk] gdk_color_parse [Gdk] gdk_colormap_alloc_color [Gdk] gdk_colormap_alloc_colors [Gdk] gdk_colormap_free_colors [Gdk] gdk_colormap_get_screen [Gdk] gdk_colormap_get_system [Gdk] gdk_colormap_get_type [Gdk] gdk_colormap_get_visual [Gdk] gdk_colormap_new [Gdk] gdk_colormap_query_color [Gdk] gdk_crossing_mode_get_type [Gdk] gdk_cursor_get_display [Gdk] gdk_cursor_get_type [Gdk] gdk_cursor_new [Gdk] gdk_cursor_new_for_display [Gdk] gdk_cursor_new_from_pixbuf [Gdk] gdk_cursor_new_from_pixmap [Gdk] gdk_cursor_ref [Gdk] gdk_cursor_type_get_type [Gdk] gdk_cursor_unref [Gdk] gdk_device_free_history [Gdk] gdk_device_get_axis [Gdk] gdk_device_get_core_pointer [Gdk] gdk_device_get_history [Gdk] gdk_device_get_state [Gdk] gdk_device_get_type [Gdk] gdk_device_set_axis_use [Gdk] gdk_device_set_key [Gdk] gdk_device_set_mode [Gdk] gdk_device_set_source [Gdk] gdk_devices_list [Gdk] gdk_display_add_client_message_filter [Gdk] gdk_display_beep [Gdk] gdk_display_close [Gdk] gdk_display_flush [Gdk] gdk_display_get_core_pointer [Gdk] gdk_display_get_default [Gdk] gdk_display_get_default_cursor_size [Gdk] gdk_display_get_default_group [Gdk] gdk_display_get_default_screen [Gdk] gdk_display_get_event [Gdk] gdk_display_get_maximal_cursor_size [Gdk] gdk_display_get_n_screens [Gdk] gdk_display_get_name [Gdk] gdk_display_get_pointer [Gdk] gdk_display_get_screen [Gdk] gdk_display_get_type [Gdk] gdk_display_get_window_at_pointer [Gdk] gdk_display_keyboard_ungrab [Gdk] gdk_display_list_devices [Gdk] gdk_display_manager_get [Gdk] gdk_display_manager_get_default_display [Gdk] gdk_display_manager_get_type [Gdk] gdk_display_manager_list_displays [Gdk] gdk_display_manager_set_default_display [Gdk] gdk_display_open [Gdk] gdk_display_peek_event [Gdk] gdk_display_pointer_is_grabbed [Gdk] gdk_display_pointer_ungrab [Gdk] gdk_display_put_event [Gdk] gdk_display_request_selection_notification [Gdk] gdk_display_set_double_click_distance [Gdk] gdk_display_set_double_click_time [Gdk] gdk_display_set_pointer_hooks [Gdk] gdk_display_store_clipboard [Gdk] gdk_display_supports_clipboard_persistence [Gdk] gdk_display_supports_cursor_alpha [Gdk] gdk_display_supports_cursor_color [Gdk] gdk_display_supports_selection_notification [Gdk] gdk_display_sync [Gdk] gdk_drag_abort [Gdk] gdk_drag_action_get_type [Gdk] gdk_drag_begin [Gdk] gdk_drag_context_get_type [Gdk] gdk_drag_context_new [Gdk] gdk_drag_drop [Gdk] gdk_drag_drop_succeeded [Gdk] gdk_drag_find_window [Gdk] gdk_drag_find_window_for_screen [Gdk] gdk_drag_get_protocol [Gdk] gdk_drag_get_protocol_for_display [Gdk] gdk_drag_get_selection [Gdk] gdk_drag_motion [Gdk] gdk_drag_protocol_get_type [Gdk] gdk_drag_status [Gdk] gdk_draw_arc [Gdk] gdk_draw_drawable [Gdk] gdk_draw_glyphs [Gdk] gdk_draw_glyphs_transformed [Gdk] gdk_draw_gray_image [Gdk] gdk_draw_image [Gdk] gdk_draw_indexed_image [Gdk] gdk_draw_layout [Gdk] gdk_draw_layout_line [Gdk] gdk_draw_layout_line_with_colors [Gdk] gdk_draw_layout_with_colors [Gdk] gdk_draw_line [Gdk] gdk_draw_lines [Gdk] gdk_draw_pixbuf [Gdk] gdk_draw_point [Gdk] gdk_draw_points [Gdk] gdk_draw_polygon [Gdk] gdk_draw_rectangle [Gdk] gdk_draw_rgb_32_image [Gdk] gdk_draw_rgb_32_image_dithalign [Gdk] gdk_draw_rgb_image [Gdk] gdk_draw_rgb_image_dithalign [Gdk] gdk_draw_segments [Gdk] gdk_draw_trapezoids [Gdk] gdk_drawable_copy_to_image [Gdk] gdk_drawable_get_clip_region [Gdk] gdk_drawable_get_colormap [Gdk] gdk_drawable_get_depth [Gdk] gdk_drawable_get_display [Gdk] gdk_drawable_get_image [Gdk] gdk_drawable_get_screen [Gdk] gdk_drawable_get_size [Gdk] gdk_drawable_get_type [Gdk] gdk_drawable_get_visible_region [Gdk] gdk_drawable_get_visual [Gdk] gdk_drawable_set_colormap [Gdk] gdk_drop_finish [Gdk] gdk_drop_reply [Gdk] gdk_error_trap_pop [Gdk] gdk_error_trap_push [Gdk] gdk_event_copy [Gdk] gdk_event_free [Gdk] gdk_event_get [Gdk] gdk_event_get_axis [Gdk] gdk_event_get_coords [Gdk] gdk_event_get_graphics_expose [Gdk] gdk_event_get_root_coords [Gdk] gdk_event_get_screen [Gdk] gdk_event_get_state [Gdk] gdk_event_get_time [Gdk] gdk_event_get_type [Gdk] gdk_event_handler_set [Gdk] gdk_event_mask_get_type [Gdk] gdk_event_new [Gdk] gdk_event_peek [Gdk] gdk_event_put [Gdk] gdk_event_send_client_message [Gdk] gdk_event_send_client_message_for_display [Gdk] gdk_event_send_clientmessage_toall [Gdk] gdk_event_set_screen [Gdk] gdk_event_type_get_type [Gdk] gdk_events_pending [Gdk] gdk_extension_mode_get_type [Gdk] gdk_fill_get_type [Gdk] gdk_fill_rule_get_type [Gdk] gdk_filter_return_get_type [Gdk] gdk_flush [Gdk] gdk_font_type_get_type [Gdk] gdk_free_compound_text [Gdk] gdk_free_text_list [Gdk] gdk_function_get_type [Gdk] gdk_gc_copy [Gdk] gdk_gc_get_colormap [Gdk] gdk_gc_get_screen [Gdk] gdk_gc_get_type [Gdk] gdk_gc_get_values [Gdk] gdk_gc_new [Gdk] gdk_gc_new_with_values [Gdk] gdk_gc_offset [Gdk] gdk_gc_set_background [Gdk] gdk_gc_set_clip_mask [Gdk] gdk_gc_set_clip_origin [Gdk] gdk_gc_set_clip_rectangle [Gdk] gdk_gc_set_clip_region [Gdk] gdk_gc_set_colormap [Gdk] gdk_gc_set_dashes [Gdk] gdk_gc_set_exposures [Gdk] gdk_gc_set_fill [Gdk] gdk_gc_set_foreground [Gdk] gdk_gc_set_function [Gdk] gdk_gc_set_line_attributes [Gdk] gdk_gc_set_rgb_bg_color [Gdk] gdk_gc_set_rgb_fg_color [Gdk] gdk_gc_set_stipple [Gdk] gdk_gc_set_subwindow [Gdk] gdk_gc_set_tile [Gdk] gdk_gc_set_ts_origin [Gdk] gdk_gc_set_values [Gdk] gdk_gc_values_mask_get_type [Gdk] gdk_get_default_root_window [Gdk] gdk_get_display [Gdk] gdk_get_display_arg_name [Gdk] gdk_get_program_class [Gdk] gdk_get_show_events [Gdk] gdk_grab_status_get_type [Gdk] gdk_gravity_get_type [Gdk] gdk_image_get_colormap [Gdk] gdk_image_get_pixel [Gdk] gdk_image_get_type [Gdk] gdk_image_new [Gdk] gdk_image_put_pixel [Gdk] gdk_image_set_colormap [Gdk] gdk_image_type_get_type [Gdk] gdk_init [Gdk] gdk_init_check [Gdk] gdk_input_condition_get_type [Gdk] gdk_input_mode_get_type [Gdk] gdk_input_set_extension_events [Gdk] gdk_input_source_get_type [Gdk] gdk_join_style_get_type [Gdk] gdk_keyboard_grab [Gdk] gdk_keyboard_ungrab [Gdk] gdk_keymap_get_default [Gdk] gdk_keymap_get_direction [Gdk] gdk_keymap_get_entries_for_keycode [Gdk] gdk_keymap_get_entries_for_keyval [Gdk] gdk_keymap_get_for_display [Gdk] gdk_keymap_get_type [Gdk] gdk_keymap_lookup_key [Gdk] gdk_keymap_translate_keyboard_state [Gdk] gdk_keyval_convert_case [Gdk] gdk_keyval_from_name [Gdk] gdk_keyval_is_lower [Gdk] gdk_keyval_is_upper [Gdk] gdk_keyval_name [Gdk] gdk_keyval_to_lower [Gdk] gdk_keyval_to_unicode [Gdk] gdk_keyval_to_upper [Gdk] gdk_line_style_get_type [Gdk] gdk_list_visuals [Gdk] gdk_modifier_type_get_type [Gdk] gdk_net_wm_supports [Gdk] gdk_notify_startup_complete [Gdk] gdk_notify_type_get_type [Gdk] gdk_overlap_type_get_type [Gdk] gdk_owner_change_get_type [Gdk] gdk_pango_attr_embossed_new [Gdk] gdk_pango_attr_stipple_new [Gdk] gdk_pango_context_get [Gdk] gdk_pango_context_get_for_screen [Gdk] gdk_pango_layout_get_clip_region [Gdk] gdk_pango_layout_line_get_clip_region [Gdk] gdk_pango_renderer_get_default [Gdk] gdk_pango_renderer_get_type [Gdk] gdk_pango_renderer_new [Gdk] gdk_pango_renderer_set_drawable [Gdk] gdk_pango_renderer_set_gc [Gdk] gdk_pango_renderer_set_override_color [Gdk] gdk_pango_renderer_set_stipple [Gdk] gdk_parse_args [Gdk] gdk_pixbuf_get_from_drawable [Gdk] gdk_pixbuf_get_from_image [Gdk] gdk_pixbuf_render_pixmap_and_mask [Gdk] gdk_pixbuf_render_pixmap_and_mask_for_colormap [Gdk] gdk_pixbuf_render_threshold_alpha [Gdk] gdk_pixmap_colormap_create_from_xpm [Gdk] gdk_pixmap_colormap_create_from_xpm_d [Gdk] gdk_pixmap_create_from_data [Gdk] gdk_pixmap_create_from_xpm [Gdk] gdk_pixmap_create_from_xpm_d [Gdk] gdk_pixmap_foreign_new [Gdk] gdk_pixmap_foreign_new_for_display [Gdk] gdk_pixmap_get_type [Gdk] gdk_pixmap_lookup [Gdk] gdk_pixmap_lookup_for_display [Gdk] gdk_pixmap_new [Gdk] gdk_pointer_grab [Gdk] gdk_pointer_is_grabbed [Gdk] gdk_pointer_ungrab [Gdk] gdk_prop_mode_get_type [Gdk] gdk_property_change [Gdk] gdk_property_delete [Gdk] gdk_property_get [Gdk] gdk_property_state_get_type [Gdk] gdk_query_depths [Gdk] gdk_query_visual_types [Gdk] gdk_rectangle_get_type [Gdk] gdk_rectangle_intersect [Gdk] gdk_rectangle_union [Gdk] gdk_region_copy [Gdk] gdk_region_destroy [Gdk] gdk_region_empty [Gdk] gdk_region_equal [Gdk] gdk_region_get_clipbox [Gdk] gdk_region_get_rectangles [Gdk] gdk_region_intersect [Gdk] gdk_region_new [Gdk] gdk_region_offset [Gdk] gdk_region_point_in [Gdk] gdk_region_polygon [Gdk] gdk_region_rect_in [Gdk] gdk_region_rectangle [Gdk] gdk_region_shrink [Gdk] gdk_region_spans_intersect_foreach [Gdk] gdk_region_subtract [Gdk] gdk_region_union [Gdk] gdk_region_union_with_rect [Gdk] gdk_region_xor [Gdk] gdk_rgb_cmap_free [Gdk] gdk_rgb_cmap_new [Gdk] gdk_rgb_colormap_ditherable [Gdk] gdk_rgb_dither_get_type [Gdk] gdk_rgb_ditherable [Gdk] gdk_rgb_find_color [Gdk] gdk_rgb_get_colormap [Gdk] gdk_rgb_get_visual [Gdk] gdk_rgb_set_install [Gdk] gdk_rgb_set_min_colors [Gdk] gdk_rgb_set_verbose [Gdk] gdk_screen_broadcast_client_message [Gdk] gdk_screen_get_default [Gdk] gdk_screen_get_default_colormap [Gdk] gdk_screen_get_display [Gdk] gdk_screen_get_height [Gdk] gdk_screen_get_height_mm [Gdk] gdk_screen_get_monitor_at_point [Gdk] gdk_screen_get_monitor_at_window [Gdk] gdk_screen_get_monitor_geometry [Gdk] gdk_screen_get_n_monitors [Gdk] gdk_screen_get_number [Gdk] gdk_screen_get_rgb_colormap [Gdk] gdk_screen_get_rgb_visual [Gdk] gdk_screen_get_root_window [Gdk] gdk_screen_get_setting [Gdk] gdk_screen_get_system_colormap [Gdk] gdk_screen_get_system_visual [Gdk] gdk_screen_get_toplevel_windows [Gdk] gdk_screen_get_type [Gdk] gdk_screen_get_width [Gdk] gdk_screen_get_width_mm [Gdk] gdk_screen_height [Gdk] gdk_screen_height_mm [Gdk] gdk_screen_list_visuals [Gdk] gdk_screen_make_display_name [Gdk] gdk_screen_set_default_colormap [Gdk] gdk_screen_width [Gdk] gdk_screen_width_mm [Gdk] gdk_scroll_direction_get_type [Gdk] gdk_selection_convert [Gdk] gdk_selection_owner_get [Gdk] gdk_selection_owner_get_for_display [Gdk] gdk_selection_owner_set [Gdk] gdk_selection_owner_set_for_display [Gdk] gdk_selection_property_get [Gdk] gdk_selection_send_notify [Gdk] gdk_selection_send_notify_for_display [Gdk] gdk_set_double_click_time [Gdk] gdk_set_locale [Gdk] gdk_set_pointer_hooks [Gdk] gdk_set_program_class [Gdk] gdk_set_show_events [Gdk] gdk_set_sm_client_id [Gdk] gdk_setting_action_get_type [Gdk] gdk_setting_get [Gdk] gdk_spawn_command_line_on_screen [Gdk] gdk_spawn_on_screen [Gdk] gdk_spawn_on_screen_with_pipes [Gdk] gdk_status_get_type [Gdk] gdk_string_to_compound_text [Gdk] gdk_string_to_compound_text_for_display [Gdk] gdk_subwindow_mode_get_type [Gdk] gdk_synthesize_window_state [Gdk] gdk_text_property_to_text_list [Gdk] gdk_text_property_to_text_list_for_display [Gdk] gdk_text_property_to_utf8_list [Gdk] gdk_text_property_to_utf8_list_for_display [Gdk] gdk_threads_enter [Gdk] gdk_threads_init [Gdk] gdk_threads_leave [Gdk] gdk_threads_set_lock_functions [Gdk] gdk_unicode_to_keyval [Gdk] gdk_utf8_to_compound_text [Gdk] gdk_utf8_to_compound_text_for_display [Gdk] gdk_utf8_to_string_target [Gdk] gdk_visibility_state_get_type [Gdk] gdk_visual_get_best [Gdk] gdk_visual_get_best_depth [Gdk] gdk_visual_get_best_type [Gdk] gdk_visual_get_best_with_both [Gdk] gdk_visual_get_best_with_depth [Gdk] gdk_visual_get_best_with_type [Gdk] gdk_visual_get_screen [Gdk] gdk_visual_get_system [Gdk] gdk_visual_get_type [Gdk] gdk_visual_type_get_type [Gdk] gdk_window_add_filter [Gdk] gdk_window_at_pointer [Gdk] gdk_window_attributes_type_get_type [Gdk] gdk_window_begin_move_drag [Gdk] gdk_window_begin_paint_rect [Gdk] gdk_window_begin_paint_region [Gdk] gdk_window_begin_resize_drag [Gdk] gdk_window_class_get_type [Gdk] gdk_window_clear [Gdk] gdk_window_clear_area [Gdk] gdk_window_clear_area_e [Gdk] gdk_window_configure_finished [Gdk] gdk_window_constrain_size [Gdk] gdk_window_deiconify [Gdk] gdk_window_destroy [Gdk] gdk_window_destroy_notify [Gdk] gdk_window_edge_get_type [Gdk] gdk_window_enable_synchronized_configure [Gdk] gdk_window_end_paint [Gdk] gdk_window_focus [Gdk] gdk_window_foreign_new [Gdk] gdk_window_foreign_new_for_display [Gdk] gdk_window_freeze_updates [Gdk] gdk_window_fullscreen [Gdk] gdk_window_get_children [Gdk] gdk_window_get_decorations [Gdk] gdk_window_get_events [Gdk] gdk_window_get_frame_extents [Gdk] gdk_window_get_geometry [Gdk] gdk_window_get_group [Gdk] gdk_window_get_internal_paint_info [Gdk] gdk_window_get_origin [Gdk] gdk_window_get_parent [Gdk] gdk_window_get_pointer [Gdk] gdk_window_get_position [Gdk] gdk_window_get_root_origin [Gdk] gdk_window_get_state [Gdk] gdk_window_get_toplevel [Gdk] gdk_window_get_toplevels [Gdk] gdk_window_get_update_area [Gdk] gdk_window_get_user_data [Gdk] gdk_window_get_window_type [Gdk] gdk_window_hide [Gdk] gdk_window_hints_get_type [Gdk] gdk_window_iconify [Gdk] gdk_window_invalidate_maybe_recurse [Gdk] gdk_window_invalidate_rect [Gdk] gdk_window_invalidate_region [Gdk] gdk_window_is_viewable [Gdk] gdk_window_is_visible [Gdk] gdk_window_lookup [Gdk] gdk_window_lookup_for_display [Gdk] gdk_window_lower [Gdk] gdk_window_maximize [Gdk] gdk_window_merge_child_shapes [Gdk] gdk_window_move [Gdk] gdk_window_move_resize [Gdk] gdk_window_new [Gdk] gdk_window_object_get_type [Gdk] gdk_window_peek_children [Gdk] gdk_window_process_all_updates [Gdk] gdk_window_process_updates [Gdk] gdk_window_raise [Gdk] gdk_window_register_dnd [Gdk] gdk_window_remove_filter [Gdk] gdk_window_reparent [Gdk] gdk_window_resize [Gdk] gdk_window_scroll [Gdk] gdk_window_set_accept_focus [Gdk] gdk_window_set_back_pixmap [Gdk] gdk_window_set_background [Gdk] gdk_window_set_child_shapes [Gdk] gdk_window_set_cursor [Gdk] gdk_window_set_debug_updates [Gdk] gdk_window_set_decorations [Gdk] gdk_window_set_events [Gdk] gdk_window_set_focus_on_map [Gdk] gdk_window_set_functions [Gdk] gdk_window_set_geometry_hints [Gdk] gdk_window_set_group [Gdk] gdk_window_set_icon [Gdk] gdk_window_set_icon_list [Gdk] gdk_window_set_icon_name [Gdk] gdk_window_set_keep_above [Gdk] gdk_window_set_keep_below [Gdk] gdk_window_set_modal_hint [Gdk] gdk_window_set_override_redirect [Gdk] gdk_window_set_role [Gdk] gdk_window_set_skip_pager_hint [Gdk] gdk_window_set_skip_taskbar_hint [Gdk] gdk_window_set_static_gravities [Gdk] gdk_window_set_title [Gdk] gdk_window_set_transient_for [Gdk] gdk_window_set_type_hint [Gdk] gdk_window_set_user_data [Gdk] gdk_window_shape_combine_mask [Gdk] gdk_window_shape_combine_region [Gdk] gdk_window_show [Gdk] gdk_window_show_unraised [Gdk] gdk_window_state_get_type [Gdk] gdk_window_stick [Gdk] gdk_window_thaw_updates [Gdk] gdk_window_type_get_type [Gdk] gdk_window_type_hint_get_type [Gdk] gdk_window_unfullscreen [Gdk] gdk_window_unmaximize [Gdk] gdk_window_unstick [Gdk] gdk_window_withdraw [Gdk] gdk_wm_decoration_get_type [Gdk] gdk_wm_function_get_type [Gdk] gdk_x11_atom_to_xatom [Gdk] gdk_x11_atom_to_xatom_for_display [Gdk] gdk_x11_colormap_foreign_new [Gdk] gdk_x11_colormap_get_xcolormap [Gdk] gdk_x11_colormap_get_xdisplay [Gdk] gdk_x11_cursor_get_xcursor [Gdk] gdk_x11_cursor_get_xdisplay [Gdk] gdk_x11_display_get_xdisplay [Gdk] gdk_x11_display_grab [Gdk] gdk_x11_display_ungrab [Gdk] gdk_x11_drawable_get_xdisplay [Gdk] gdk_x11_drawable_get_xid [Gdk] gdk_x11_gc_get_xdisplay [Gdk] gdk_x11_gc_get_xgc [Gdk] gdk_x11_get_default_root_xwindow [Gdk] gdk_x11_get_default_screen [Gdk] gdk_x11_get_default_xdisplay [Gdk] gdk_x11_get_server_time [Gdk] gdk_x11_get_xatom_by_name [Gdk] gdk_x11_get_xatom_by_name_for_display [Gdk] gdk_x11_get_xatom_name [Gdk] gdk_x11_get_xatom_name_for_display [Gdk] gdk_x11_grab_server [Gdk] gdk_x11_image_get_xdisplay [Gdk] gdk_x11_image_get_ximage [Gdk] gdk_x11_lookup_xdisplay [Gdk] gdk_x11_register_standard_event_type [Gdk] gdk_x11_screen_get_screen_number [Gdk] gdk_x11_screen_get_window_manager_name [Gdk] gdk_x11_screen_get_xscreen [Gdk] gdk_x11_screen_lookup_visual [Gdk] gdk_x11_screen_supports_net_wm_hint [Gdk] gdk_x11_ungrab_server [Gdk] gdk_x11_visual_get_xvisual [Gdk] gdk_x11_window_set_user_time [Gdk] gdk_x11_xatom_to_atom [Gdk] gdk_x11_xatom_to_atom_for_display [Gdk] gdk_xid_table_lookup [Gdk] gdk_xid_table_lookup_for_display [Gdk] gdkx_visual_get [Gdk] An LSB conforming implementation shall provide the generic data interfaces for GTK Drawing toolkit specified in Table 15-76, with the full mandatory functionality as described in the referenced underlying specification. Table 15-76. libgdk-x11-2.0 - GTK Drawing toolkit Data Interfaces gdk_display [Gdk] gdk_threads_lock [Gdk] gdk_threads_unlock [Gdk] __________________________________________________________ 15.22. Data Definitions for libgdk-x11-2.0 This section defines global identifiers and their values that are associated with interfaces contained in libgdk-x11-2.0. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect. This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications. This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages. __________________________________________________________ 15.22.1. gtk-2.0/gdk/gdk.h #define GDK_WINDOWING_X11 #define GDK_PIXMAP_OBJECT(object) \ ((GdkPixmapObject *) GDK_PIXMAP (object)) #define GDK_WINDOW_OBJECT(object) \ ((GdkWindowObject *) GDK_WINDOW (object)) #define GDK_TYPE_WINDOW_ATTRIBUTES_TYPE \ (gdk_window_attributes_type_get_type()) #define GDK_COLORMAP_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_COLORMAP, \ GdkColormapClass)) #define GDK_DEVICE_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DEVICE, GdkDeviceClass)) #define GDK_DISPLAY_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DISPLAY, \ GdkDisplayClass)) #define GDK_DISPLAY_MANAGER_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DISPLAY_MANAGER, \ GdkDisplayManagerClass)) #define GDK_DRAG_CONTEXT_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DRAG_CONTEXT, \ GdkDragContextClass)) #define GDK_DRAWABLE_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DRAWABLE, \ GdkDrawableClass)) #define GDK_GC_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_GC, GdkGCClass)) #define GDK_IMAGE_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_IMAGE, GdkImageClass)) #define GDK_KEYMAP_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_KEYMAP, GdkKeymapClass)) #define GDK_PANGO_RENDERER_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_PANGO_RENDERER, \ GdkPangoRendererClass)) #define GDK_PIXMAP_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_PIXMAP, \ GdkPixmapObjectClass)) #define GDK_SCREEN_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_SCREEN, GdkScreenClass)) #define GDK_VISUAL_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_VISUAL, GdkVisualClass)) #define GDK_WINDOW_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_WINDOW, \ GdkWindowObjectClass)) #define GDK_IS_COLORMAP_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_COLORMAP)) #define GDK_IS_DEVICE_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DEVICE)) #define GDK_IS_DISPLAY_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DISPLAY)) #define GDK_IS_DISPLAY_MANAGER_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DISPLAY_MANAGER)) #define GDK_IS_DRAG_CONTEXT_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DRAG_CONTEXT)) #define GDK_IS_DRAWABLE_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DRAWABLE)) #define GDK_IS_GC_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_GC)) #define GDK_IS_IMAGE_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_IMAGE)) #define GDK_IS_KEYMAP_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_KEYMAP)) #define GDK_IS_PANGO_RENDERER_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_PANGO_RENDERER)) #define GDK_IS_PIXMAP_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_PIXMAP)) #define GDK_IS_SCREEN_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_SCREEN)) #define GDK_IS_VISUAL_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_VISUAL)) #define GDK_IS_WINDOW_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_WINDOW)) #define GDK_COLORMAP(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_COLORMAP, \ GdkColormap)) #define GDK_DEVICE(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DEVICE, GdkDevice)) #define GDK_DISPLAY_OBJECT(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY, GdkDisplay)) #define GDK_DISPLAY_MANAGER(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY_MANAGER, \ GdkDisplayManager)) #define GDK_DRAG_CONTEXT(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DRAG_CONTEXT, \ GdkDragContext)) #define GDK_DRAWABLE(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DRAWABLE, \ GdkDrawable)) #define GDK_GC(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_GC, GdkGC)) #define GDK_IMAGE(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_IMAGE, GdkImage)) #define GDK_KEYMAP(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_KEYMAP, GdkKeymap)) #define GDK_PANGO_RENDERER(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_PANGO_RENDERER,\ GdkPangoRenderer)) #define GDK_PIXMAP(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_PIXMAP, GdkPixmap)) #define GDK_SCREEN(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_SCREEN, GdkScreen)) #define GDK_VISUAL(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_VISUAL, GdkVisual)) #define GDK_WINDOW(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WINDOW, GdkWindow)) #define GDK_IS_COLORMAP(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_COLORMAP)) #define GDK_IS_DEVICE(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DEVICE)) #define GDK_IS_DISPLAY(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DISPLAY)) #define GDK_IS_DISPLAY_MANAGER(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DISPLAY_MANAGER)) #define GDK_IS_DRAG_CONTEXT(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DRAG_CONTEXT)) #define GDK_IS_DRAWABLE(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DRAWABLE)) #define GDK_IS_GC(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_GC)) #define GDK_IS_IMAGE(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_IMAGE)) #define GDK_IS_KEYMAP(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_KEYMAP)) #define GDK_IS_PANGO_RENDERER(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_PANGO_RENDERER)) #define GDK_IS_PIXMAP(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_PIXMAP)) #define GDK_IS_SCREEN(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_SCREEN)) #define GDK_IS_VISUAL(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_VISUAL)) #define GDK_IS_WINDOW(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WINDOW)) #define GDK_COLORMAP_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_COLORMAP, \ GdkColormapClass)) #define GDK_DEVICE_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DEVICE, GdkDeviceClass)) #define GDK_DISPLAY_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DISPLAY, \ GdkDisplayClass)) #define GDK_DISPLAY_MANAGER_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DISPLAY_MANAGER, \ GdkDisplayManagerClass)) #define GDK_DRAG_CONTEXT_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DRAG_CONTEXT, \ GdkDragContextClass)) #define GDK_DRAWABLE_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DRAWABLE, \ GdkDrawableClass)) #define GDK_GC_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_GC, GdkGCClass)) #define GDK_IMAGE_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_IMAGE, GdkImageClass)) #define GDK_KEYMAP_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_KEYMAP, GdkKeymapClass)) #define GDK_PANGO_RENDERER_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_PANGO_RENDERER, \ GdkPangoRendererClass)) #define GDK_PIXMAP_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_PIXMAP, \ GdkPixmapObjectClass)) #define GDK_SCREEN_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_SCREEN, GdkScreenClass)) #define GDK_VISUAL_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_VISUAL, GdkVisualClass)) #define GDK_WINDOW_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_WINDOW, \ GdkWindowObjectClass)) #define GDK_THREADS_ENTER() \ G_STMT_START { if (gdk_threads_lock) (*gdk_threads_lock) (); } \ G_STMT_END #define GDK_THREADS_LEAVE() \ G_STMT_START { if (gdk_threads_unlock) (*gdk_threads_unlock) (); } \ G_STMT_END #define GDK_POINTER_TO_ATOM(ptr) ((GdkAtom)(ptr)) #define _GDK_MAKE_ATOM(val) ((GdkAtom)GUINT_TO_POINTER(val)) #define GDK_ATOM_TO_POINTER(atom) (atom) #define GDK_TYPE_AXIS_USE (gdk_axis_use_get_type()) #define GDK_TYPE_BYTE_ORDER (gdk_byte_order_get_type()) #define GDK_TYPE_CAP_STYLE (gdk_cap_style_get_type()) #define GDK_TYPE_COLORMAP (gdk_colormap_get_type ()) #define GDK_TYPE_COLOR (gdk_color_get_type ()) #define GDK_TYPE_CROSSING_MODE (gdk_crossing_mode_get_type()) #define GDK_TYPE_CURSOR (gdk_cursor_get_type ()) #define GDK_TYPE_CURSOR_TYPE (gdk_cursor_type_get_type()) #define GDK_TYPE_DEVICE (gdk_device_get_type ()) #define GDK_TYPE_DISPLAY (gdk_display_get_type ()) #define GDK_TYPE_DISPLAY_MANAGER (gdk_display_manager_get_type ()) #define GDK_TYPE_DRAG_ACTION (gdk_drag_action_get_type()) #define GDK_TYPE_DRAG_CONTEXT (gdk_drag_context_get_type ()) #define GDK_TYPE_DRAG_PROTOCOL (gdk_drag_protocol_get_type()) #define GDK_TYPE_DRAWABLE (gdk_drawable_get_type ()) #define GDK_TYPE_EVENT (gdk_event_get_type ()) #define GDK_TYPE_EVENT_MASK (gdk_event_mask_get_type()) #define GDK_TYPE_EVENT_TYPE (gdk_event_type_get_type()) #define GDK_TYPE_EXTENSION_MODE (gdk_extension_mode_get_type()) #define GDK_TYPE_FILL (gdk_fill_get_type()) #define GDK_TYPE_FILL_RULE (gdk_fill_rule_get_type()) #define GDK_TYPE_FILTER_RETURN (gdk_filter_return_get_type()) #define GDK_TYPE_FONT_TYPE (gdk_font_type_get_type()) #define GDK_TYPE_FUNCTION (gdk_function_get_type()) #define GDK_TYPE_GC (gdk_gc_get_type ()) #define GDK_TYPE_GC_VALUES_MASK (gdk_gc_values_mask_get_type()) #define GDK_TYPE_GRAB_STATUS (gdk_grab_status_get_type()) #define GDK_TYPE_GRAVITY (gdk_gravity_get_type()) #define GDK_TYPE_IMAGE (gdk_image_get_type ()) #define GDK_TYPE_IMAGE_TYPE (gdk_image_type_get_type()) #define GDK_TYPE_INPUT_CONDITION (gdk_input_condition_get_type()) #define GDK_TYPE_INPUT_MODE (gdk_input_mode_get_type()) #define GDK_TYPE_INPUT_SOURCE (gdk_input_source_get_type()) #define GDK_TYPE_JOIN_STYLE (gdk_join_style_get_type()) #define GDK_TYPE_KEYMAP (gdk_keymap_get_type ()) #define GDK_TYPE_LINE_STYLE (gdk_line_style_get_type()) #define GDK_TYPE_MODIFIER_TYPE (gdk_modifier_type_get_type()) #define GDK_TYPE_NOTIFY_TYPE (gdk_notify_type_get_type()) #define GDK_TYPE_OVERLAP_TYPE (gdk_overlap_type_get_type()) #define GDK_TYPE_OWNER_CHANGE (gdk_owner_change_get_type()) #define GDK_TYPE_PANGO_RENDERER (gdk_pango_renderer_get_type()) #define GDK_TYPE_PIXMAP (gdk_pixmap_get_type ()) #define GDK_TYPE_PROPERTY_STATE (gdk_property_state_get_type()) #define GDK_TYPE_PROP_MODE (gdk_prop_mode_get_type()) #define GDK_TYPE_RECTANGLE (gdk_rectangle_get_type ()) #define GDK_TYPE_RGB_DITHER (gdk_rgb_dither_get_type()) #define GDK_TYPE_SCREEN (gdk_screen_get_type ()) #define GDK_TYPE_SCROLL_DIRECTION (gdk_scroll_direction_get_type()) #define GDK_TYPE_SETTING_ACTION (gdk_setting_action_get_type()) #define GDK_TYPE_STATUS (gdk_status_get_type()) #define GDK_TYPE_SUBWINDOW_MODE (gdk_subwindow_mode_get_type()) #define GDK_TYPE_VISIBILITY_STATE (gdk_visibility_state_get_type()) #define GDK_TYPE_VISUAL (gdk_visual_get_type ()) #define GDK_TYPE_VISUAL_TYPE (gdk_visual_type_get_type()) #define GDK_TYPE_WINDOW_CLASS (gdk_window_class_get_type()) #define GDK_TYPE_WINDOW_EDGE (gdk_window_edge_get_type()) #define GDK_TYPE_WINDOW_HINTS (gdk_window_hints_get_type()) #define GDK_TYPE_WINDOW (gdk_window_object_get_type ()) #define GDK_TYPE_WINDOW_STATE (gdk_window_state_get_type()) #define GDK_TYPE_WINDOW_TYPE (gdk_window_type_get_type()) #define GDK_TYPE_WINDOW_TYPE_HINT (gdk_window_type_hint_get_type()) #define GDK_TYPE_WM_DECORATION (gdk_wm_decoration_get_type()) #define GDK_TYPE_WM_FUNCTION (gdk_wm_function_get_type()) #define GDK_PRIORITY_EVENTS (G_PRIORITY_DEFAULT) #define GDK_PRIORITY_REDRAW (G_PRIORITY_HIGH_IDLE + 20) #define GDK_CURRENT_TIME 0L #define GDK_HAVE_WCHAR_H 1 #define GDK_HAVE_WCTYPE_H 1 #define GDK_MAX_TIMECOORD_AXES 128 #define GDK_PARENT_RELATIVE 1L #define GDKVAR extern #define gdk_draw_bitmap gdk_draw_drawable #define GDK_NONE _GDK_MAKE_ATOM (0) #define GDK_SELECTION_PRIMARY _GDK_MAKE_ATOM (1) #define GDK_SELECTION_TYPE_DRAWABLE _GDK_MAKE_ATOM (17) #define GDK_TARGET_DRAWABLE _GDK_MAKE_ATOM (17) #define GDK_SELECTION_TYPE_INTEGER _GDK_MAKE_ATOM (19) #define GDK_SELECTION_SECONDARY _GDK_MAKE_ATOM (2) #define GDK_SELECTION_TYPE_PIXMAP _GDK_MAKE_ATOM (20) #define GDK_TARGET_PIXMAP _GDK_MAKE_ATOM (20) #define GDK_SELECTION_TYPE_STRING _GDK_MAKE_ATOM (31) #define GDK_TARGET_STRING _GDK_MAKE_ATOM (31) #define GDK_SELECTION_TYPE_WINDOW _GDK_MAKE_ATOM (33) #define GDK_SELECTION_TYPE_ATOM _GDK_MAKE_ATOM (4) #define GDK_SELECTION_TYPE_BITMAP _GDK_MAKE_ATOM (5) #define GDK_TARGET_BITMAP _GDK_MAKE_ATOM (5) #define GDK_SELECTION_CLIPBOARD _GDK_MAKE_ATOM (69) #define GDK_SELECTION_TYPE_COLORMAP _GDK_MAKE_ATOM (7) #define GDK_TARGET_COLORMAP _GDK_MAKE_ATOM (7) typedef struct _GdkDrawable { GObject parent_instance; } GdkWindow; typedef struct _GdkColor { guint32 pixel; guint16 red; guint16 green; guint16 blue; } GdkColor; typedef enum { GDK_VISUAL_STATIC_GRAY = 0, GDK_VISUAL_GRAYSCALE = 1, GDK_VISUAL_STATIC_COLOR = 2, GDK_VISUAL_PSEUDO_COLOR = 3, GDK_VISUAL_TRUE_COLOR = 4, GDK_VISUAL_DIRECT_COLOR = 5 } GdkVisualType; typedef enum { GDK_LSB_FIRST = 0, GDK_MSB_FIRST = 1 } GdkByteOrder; typedef struct _GdkVisual { GObject parent_instance; GdkVisualType type; gint depth; GdkByteOrder byte_order; gint colormap_size; gint bits_per_rgb; guint32 red_mask; gint red_shift; gint red_prec; guint32 green_mask; gint green_shift; gint green_prec; guint32 blue_mask; gint blue_shift; gint blue_prec; } GdkVisual; typedef struct _GdkColormap { GObject parent_instance; gint size; GdkColor *colors; GdkVisual *visual; gpointer windowing_data; } GdkColormap; typedef struct _GdkGC { GObject parent_instance; gint clip_x_origin; gint clip_y_origin; gint ts_x_origin; gint ts_y_origin; GdkColormap *colormap; } GdkGC; typedef struct _GdkDrawable { GObject parent_instance; } GdkDrawable; typedef enum { GDK_SOURCE_MOUSE = 0, GDK_SOURCE_PEN = 1, GDK_SOURCE_ERASER = 2, GDK_SOURCE_CURSOR = 3 } GdkInputSource; typedef enum { GDK_MODE_DISABLED = 0, GDK_MODE_SCREEN = 1, GDK_MODE_WINDOW = 2 } GdkInputMode; typedef enum { GDK_AXIS_IGNORE = 0, GDK_AXIS_X = 1, GDK_AXIS_Y = 2, GDK_AXIS_PRESSURE = 3, GDK_AXIS_XTILT = 4, GDK_AXIS_YTILT = 5, GDK_AXIS_WHEEL = 6, GDK_AXIS_LAST = 7 } GdkAxisUse; typedef struct _GdkDeviceAxis { GdkAxisUse use; gdouble min; gdouble max; } GdkDeviceAxis; typedef enum { GDK_SHIFT_MASK = 1, GDK_LOCK_MASK = 2, GDK_CONTROL_MASK = 4, GDK_MOD1_MASK = 8, GDK_MOD2_MASK = 16, GDK_MOD3_MASK = 32, GDK_MOD4_MASK = 64, GDK_MOD5_MASK = 128, GDK_BUTTON1_MASK = 256, GDK_BUTTON2_MASK = 512, GDK_BUTTON3_MASK = 1024, GDK_BUTTON4_MASK = 2048, GDK_BUTTON5_MASK = 4096, GDK_RELEASE_MASK = 1073741824, GDK_MODIFIER_MASK = 1073750015 } GdkModifierType; typedef struct _GdkDeviceKey { guint keyval; GdkModifierType modifiers; } GdkDeviceKey; typedef struct _GdkDevice { GObject parent_instance; gchar *name; GdkInputSource source; GdkInputMode mode; gboolean has_cursor; gint num_axes; GdkDeviceAxis *axes; gint num_keys; GdkDeviceKey *keys; } GdkDevice; typedef struct _GdkDisplay { GObject parent_instance; GList *queued_events; GList *queued_tail; guint32 button_click_time[2]; GdkWindow *button_window[2]; gint button_number[2]; guint double_click_time; GdkDevice *core_pointer; const GdkDisplayPointerHooks *pointer_hooks; guint closed:1; guint double_click_distance; gint button_x[2]; gint button_y[2]; } GdkDisplay; typedef struct _GdkScreen { GObject parent_instance; guint closed:1; GdkGC *normal_gcs[32]; GdkGC *exposure_gcs[32]; } GdkScreen; typedef struct _GdkDisplayPointerHooks { void (*get_pointer) (GdkDisplay *, GdkScreen * *, gint *, gint *, GdkModifierType *); GdkWindow *(*window_get_pointer) (GdkDisplay *, GdkWindow *, gint *, gint *, GdkModifierType *); GdkWindow *(*window_at_pointer) (GdkDisplay *, gint *, gint *); } GdkDisplayPointerHooks; typedef enum { GDK_EXPOSURE_MASK = 2, GDK_POINTER_MOTION_MASK = 4, GDK_POINTER_MOTION_HINT_MASK = 8, GDK_BUTTON_MOTION_MASK = 16, GDK_BUTTON1_MOTION_MASK = 32, GDK_BUTTON2_MOTION_MASK = 64, GDK_BUTTON3_MOTION_MASK = 128, GDK_BUTTON_PRESS_MASK = 256, GDK_BUTTON_RELEASE_MASK = 512, GDK_KEY_PRESS_MASK = 1024, GDK_KEY_RELEASE_MASK = 2048, GDK_ENTER_NOTIFY_MASK = 4096, GDK_LEAVE_NOTIFY_MASK = 8192, GDK_FOCUS_CHANGE_MASK = 16384, GDK_STRUCTURE_MASK = 32768, GDK_PROPERTY_CHANGE_MASK = 65536, GDK_VISIBILITY_NOTIFY_MASK = 131072, GDK_PROXIMITY_IN_MASK = 262144, GDK_PROXIMITY_OUT_MASK = 524288, GDK_SUBSTRUCTURE_MASK = 1048576, GDK_SCROLL_MASK = 2097152, GDK_ALL_EVENTS_MASK = 4194302 } GdkEventMask; typedef enum { GDK_X_CURSOR = 0, GDK_ARROW = 2, GDK_BASED_ARROW_DOWN = 4, GDK_BASED_ARROW_UP = 6, GDK_BOAT = 8, GDK_BOGOSITY = 10, GDK_BOTTOM_LEFT_CORNER = 12, GDK_BOTTOM_RIGHT_CORNER = 14, GDK_BOTTOM_SIDE = 16, GDK_BOTTOM_TEE = 18, GDK_BOX_SPIRAL = 20, GDK_CENTER_PTR = 22, GDK_CIRCLE = 24, GDK_CLOCK = 26, GDK_COFFEE_MUG = 28, GDK_CROSS = 30, GDK_CROSS_REVERSE = 32, GDK_CROSSHAIR = 34, GDK_DIAMOND_CROSS = 36, GDK_DOT = 38, GDK_DOTBOX = 40, GDK_DOUBLE_ARROW = 42, GDK_DRAFT_LARGE = 44, GDK_DRAFT_SMALL = 46, GDK_DRAPED_BOX = 48, GDK_EXCHANGE = 50, GDK_FLEUR = 52, GDK_GOBBLER = 54, GDK_GUMBY = 56, GDK_HAND1 = 58, GDK_HAND2 = 60, GDK_HEART = 62, GDK_ICON = 64, GDK_IRON_CROSS = 66, GDK_LEFT_PTR = 68, GDK_LEFT_SIDE = 70, GDK_LEFT_TEE = 72, GDK_LEFTBUTTON = 74, GDK_LL_ANGLE = 76, GDK_LR_ANGLE = 78, GDK_MAN = 80, GDK_MIDDLEBUTTON = 82, GDK_MOUSE = 84, GDK_PENCIL = 86, GDK_PIRATE = 88, GDK_PLUS = 90, GDK_QUESTION_ARROW = 92, GDK_RIGHT_PTR = 94, GDK_RIGHT_SIDE = 96, GDK_RIGHT_TEE = 98, GDK_RIGHTBUTTON = 100, GDK_RTL_LOGO = 102, GDK_SAILBOAT = 104, GDK_SB_DOWN_ARROW = 106, GDK_SB_H_DOUBLE_ARROW = 108, GDK_SB_LEFT_ARROW = 110, GDK_SB_RIGHT_ARROW = 112, GDK_SB_UP_ARROW = 114, GDK_SB_V_DOUBLE_ARROW = 116, GDK_SHUTTLE = 118, GDK_SIZING = 120, GDK_SPIDER = 122, GDK_SPRAYCAN = 124, GDK_STAR = 126, GDK_TARGET = 128, GDK_TCROSS = 130, GDK_TOP_LEFT_ARROW = 132, GDK_TOP_LEFT_CORNER = 134, GDK_TOP_RIGHT_CORNER = 136, GDK_TOP_SIDE = 138, GDK_TOP_TEE = 140, GDK_TREK = 142, GDK_UL_ANGLE = 144, GDK_UMBRELLA = 146, GDK_UR_ANGLE = 148, GDK_WATCH = 150, GDK_XTERM = 152, GDK_LAST_CURSOR = 153, GDK_CURSOR_IS_PIXMAP = -1 } GdkCursorType; typedef struct _GdkCursor { GdkCursorType type; guint ref_count; } GdkCursor; typedef struct _GdkKeymap { GObject parent_instance; GdkDisplay *display; } GdkKeymap; typedef struct _GdkAtom *GdkAtom; typedef enum { GDK_FILTER_CONTINUE = 0, GDK_FILTER_TRANSLATE = 1, GDK_FILTER_REMOVE = 2 } GdkFilterReturn; typedef void GdkXEvent; typedef enum { GDK_NOTHING = -1, GDK_DELETE = 0, GDK_DESTROY = 1, GDK_EXPOSE = 2, GDK_MOTION_NOTIFY = 3, GDK_BUTTON_PRESS = 4, GDK_2BUTTON_PRESS = 5, GDK_3BUTTON_PRESS = 6, GDK_BUTTON_RELEASE = 7, GDK_KEY_PRESS = 8, GDK_KEY_RELEASE = 9, GDK_ENTER_NOTIFY = 10, GDK_LEAVE_NOTIFY = 11, GDK_FOCUS_CHANGE = 12, GDK_CONFIGURE = 13, GDK_MAP = 14, GDK_UNMAP = 15, GDK_PROPERTY_NOTIFY = 16, GDK_SELECTION_CLEAR = 17, GDK_SELECTION_REQUEST = 18, GDK_SELECTION_NOTIFY = 19, GDK_PROXIMITY_IN = 20, GDK_PROXIMITY_OUT = 21, GDK_DRAG_ENTER = 22, GDK_DRAG_LEAVE = 23, GDK_DRAG_MOTION = 24, GDK_DRAG_STATUS = 25, GDK_DROP_START = 26, GDK_DROP_FINISHED = 27, GDK_CLIENT_EVENT = 28, GDK_VISIBILITY_NOTIFY = 29, GDK_NO_EXPOSE = 30, GDK_SCROLL = 31, GDK_WINDOW_STATE = 32, GDK_SETTING = 33, GDK_OWNER_CHANGE = 34 } GdkEventType; typedef struct _GdkEventAny { GdkEventType type; GdkWindow *window; gint8 send_event; } GdkEventAny; typedef struct _GdkRectangle { gint x; gint y; gint width; gint height; } GdkRectangle; typedef struct _GdkRegion GdkRegion; typedef struct _GdkEventExpose { GdkEventType type; GdkWindow *window; gint8 send_event; GdkRectangle area; GdkRegion *region; gint count; } GdkEventExpose; typedef struct _GdkEventNoExpose { GdkEventType type; GdkWindow *window; gint8 send_event; } GdkEventNoExpose; typedef enum { GDK_VISIBILITY_UNOBSCURED = 0, GDK_VISIBILITY_PARTIAL = 1, GDK_VISIBILITY_FULLY_OBSCURED = 2 } GdkVisibilityState; typedef struct _GdkEventVisibility { GdkEventType type; GdkWindow *window; gint8 send_event; GdkVisibilityState state; } GdkEventVisibility; typedef struct _GdkEventMotion { GdkEventType type; GdkWindow *window; gint8 send_event; guint32 time; gdouble x; gdouble y; gdouble *axes; guint state; gint16 is_hint; GdkDevice *device; gdouble x_root; gdouble y_root; } GdkEventMotion; typedef struct _GdkEventButton { GdkEventType type; GdkWindow *window; gint8 send_event; guint32 time; gdouble x; gdouble y; gdouble *axes; guint state; guint button; GdkDevice *device; gdouble x_root; gdouble y_root; } GdkEventButton; typedef enum { GDK_SCROLL_UP = 0, GDK_SCROLL_DOWN = 1, GDK_SCROLL_LEFT = 2, GDK_SCROLL_RIGHT = 3 } GdkScrollDirection; typedef struct _GdkEventScroll { GdkEventType type; GdkWindow *window; gint8 send_event; guint32 time; gdouble x; gdouble y; guint state; GdkScrollDirection direction; GdkDevice *device; gdouble x_root; gdouble y_root; } GdkEventScroll; typedef struct _GdkEventKey { GdkEventType type; GdkWindow *window; gint8 send_event; guint32 time; guint state; guint keyval; gint length; gchar *string; guint16 hardware_keycode; guint8 group; } GdkEventKey; typedef enum { GDK_CROSSING_NORMAL = 0, GDK_CROSSING_GRAB = 1, GDK_CROSSING_UNGRAB = 2 } GdkCrossingMode; typedef enum { GDK_NOTIFY_ANCESTOR = 0, GDK_NOTIFY_VIRTUAL = 1, GDK_NOTIFY_INFERIOR = 2, GDK_NOTIFY_NONLINEAR = 3, GDK_NOTIFY_NONLINEAR_VIRTUAL = 4, GDK_NOTIFY_UNKNOWN = 5 } GdkNotifyType; typedef struct _GdkEventCrossing { GdkEventType type; GdkWindow *window; gint8 send_event; GdkWindow *subwindow; guint32 time; gdouble x; gdouble y; gdouble x_root; gdouble y_root; GdkCrossingMode mode; GdkNotifyType detail; gboolean focus; guint state; } GdkEventCrossing; typedef struct _GdkEventFocus { GdkEventType type; GdkWindow *window; gint8 send_event; gint16 in; } GdkEventFocus; typedef struct _GdkEventConfigure { GdkEventType type; GdkWindow *window; gint8 send_event; gint x; gint y; gint width; gint height; } GdkEventConfigure; typedef struct _GdkEventProperty { GdkEventType type; GdkWindow *window; gint8 send_event; GdkAtom atom; guint32 time; guint state; } GdkEventProperty; typedef guint32 GdkNativeWindow; typedef struct _GdkEventSelection { GdkEventType type; GdkWindow *window; gint8 send_event; GdkAtom selection; GdkAtom target; GdkAtom property; guint32 time; GdkNativeWindow requestor; } GdkEventSelection; typedef enum { GDK_OWNER_CHANGE_NEW_OWNER = 0, GDK_OWNER_CHANGE_DESTROY = 1, GDK_OWNER_CHANGE_CLOSE = 2 } GdkOwnerChange; typedef struct _GdkEventOwnerChange { GdkEventType type; GdkWindow *window; gint8 send_event; GdkNativeWindow owner; GdkOwnerChange reason; GdkAtom selection; guint32 time; guint32 selection_time; } GdkEventOwnerChange; typedef struct _GdkEventProximity { GdkEventType type; GdkWindow *window; gint8 send_event; guint32 time; GdkDevice *device; } GdkEventProximity; typedef struct _GdkEventClient { GdkEventType type; GdkWindow *window; gint8 send_event; GdkAtom message_type; gushort data_format; union { char b[20]; short int s[10]; long int l[5]; } data; } GdkEventClient; typedef enum { GDK_DRAG_PROTO_MOTIF = 0, GDK_DRAG_PROTO_XDND = 1, GDK_DRAG_PROTO_ROOTWIN = 2, GDK_DRAG_PROTO_NONE = 3, GDK_DRAG_PROTO_WIN32_DROPFILES = 4, GDK_DRAG_PROTO_OLE2 = 5, GDK_DRAG_PROTO_LOCAL = 6 } GdkDragProtocol; typedef enum { GDK_ACTION_DEFAULT = 1, GDK_ACTION_COPY = 2, GDK_ACTION_MOVE = 4, GDK_ACTION_LINK = 8, GDK_ACTION_PRIVATE = 16, GDK_ACTION_ASK = 32 } GdkDragAction; typedef struct _GdkDragContext { GObject parent_instance; GdkDragProtocol protocol; gboolean is_source; GdkWindow *source_window; GdkWindow *dest_window; GList *targets; GdkDragAction actions; GdkDragAction suggested_action; GdkDragAction action; guint32 start_time; gpointer windowing_data; } GdkDragContext; typedef short int gshort; typedef struct _GdkEventDND { GdkEventType type; GdkWindow *window; gint8 send_event; GdkDragContext *context; guint32 time; gshort x_root; gshort y_root; } GdkEventDND; typedef enum { GDK_WINDOW_STATE_WITHDRAWN = 1, GDK_WINDOW_STATE_ICONIFIED = 2, GDK_WINDOW_STATE_MAXIMIZED = 4, GDK_WINDOW_STATE_STICKY = 8, GDK_WINDOW_STATE_FULLSCREEN = 16, GDK_WINDOW_STATE_ABOVE = 32, GDK_WINDOW_STATE_BELOW = 64 } GdkWindowState; typedef struct _GdkEventWindowState { GdkEventType type; GdkWindow *window; gint8 send_event; GdkWindowState changed_mask; GdkWindowState new_window_state; } GdkEventWindowState; typedef enum { GDK_SETTING_ACTION_NEW = 0, GDK_SETTING_ACTION_CHANGED = 1, GDK_SETTING_ACTION_DELETED = 2 } GdkSettingAction; typedef struct _GdkEventSetting { GdkEventType type; GdkWindow *window; gint8 send_event; GdkSettingAction action; char *name; } GdkEventSetting; typedef union _GdkEvent { GdkEventType type; GdkEventAny any; GdkEventExpose expose; GdkEventNoExpose no_expose; GdkEventVisibility visibility; GdkEventMotion motion; GdkEventButton button; GdkEventScroll scroll; GdkEventKey key; GdkEventCrossing crossing; GdkEventFocus focus_change; GdkEventConfigure configure; GdkEventProperty property; GdkEventSelection selection; GdkEventOwnerChange owner_change; GdkEventProximity proximity; GdkEventClient client; GdkEventDND dnd; GdkEventWindowState window_state; GdkEventSetting setting; } GdkEvent; typedef GdkFilterReturn(*GdkFilterFunc) (GdkXEvent *, GdkEvent *, gpointer); typedef struct _GdkDrawable { GObject parent_instance; } GdkPixmap; typedef struct _GdkDrawable { GObject parent_instance; } GdkBitmap; typedef struct _GdkDisplayManager GdkDisplayManager; typedef enum { GDK_CLIP_BY_CHILDREN = 0, GDK_INCLUDE_INFERIORS = 1 } GdkSubwindowMode; typedef enum { GDK_WINDOW_EDGE_NORTH_WEST = 0, GDK_WINDOW_EDGE_NORTH = 1, GDK_WINDOW_EDGE_NORTH_EAST = 2, GDK_WINDOW_EDGE_WEST = 3, GDK_WINDOW_EDGE_EAST = 4, GDK_WINDOW_EDGE_SOUTH_WEST = 5, GDK_WINDOW_EDGE_SOUTH = 6, GDK_WINDOW_EDGE_SOUTH_EAST = 7 } GdkWindowEdge; typedef enum { GDK_IMAGE_NORMAL = 0, GDK_IMAGE_SHARED = 1, GDK_IMAGE_FASTEST = 2 } GdkImageType; typedef struct _GdkImage { GObject parent_instance; GdkImageType type; GdkVisual *visual; GdkByteOrder byte_order; gint width; gint height; guint16 depth; guint16 bpp; guint16 bpl; guint16 bits_per_pixel; gpointer mem; GdkColormap *colormap; gpointer windowing_data; } GdkImage; typedef struct _GdkPangoRendererPrivate GdkPangoRendererPrivate; typedef struct _GdkPangoRenderer { PangoRenderer parent_instance; GdkPangoRendererPrivate *priv; } GdkPangoRenderer; typedef enum { GDK_GRAB_SUCCESS = 0, GDK_GRAB_ALREADY_GRABBED = 1, GDK_GRAB_INVALID_TIME = 2, GDK_GRAB_NOT_VIEWABLE = 3, GDK_GRAB_FROZEN = 4 } GdkGrabStatus; typedef enum { GDK_SOLID = 0, GDK_TILED = 1, GDK_STIPPLED = 2, GDK_OPAQUE_STIPPLED = 3 } GdkFill; typedef enum { GDK_WINDOW_TYPE_HINT_NORMAL = 0, GDK_WINDOW_TYPE_HINT_DIALOG = 1, GDK_WINDOW_TYPE_HINT_MENU = 2, GDK_WINDOW_TYPE_HINT_TOOLBAR = 3, GDK_WINDOW_TYPE_HINT_SPLASHSCREEN = 4, GDK_WINDOW_TYPE_HINT_UTILITY = 5, GDK_WINDOW_TYPE_HINT_DOCK = 6, GDK_WINDOW_TYPE_HINT_DESKTOP = 7 } GdkWindowTypeHint; typedef struct _GdkTimeCoord { guint32 time; gdouble axes[128]; } GdkTimeCoord; typedef struct _GdkPoint { gint x; gint y; } GdkPoint; typedef struct _GdkFont GdkFont; typedef enum { GDK_DECOR_ALL = 1, GDK_DECOR_BORDER = 2, GDK_DECOR_RESIZEH = 4, GDK_DECOR_TITLE = 8, GDK_DECOR_MENU = 16, GDK_DECOR_MINIMIZE = 32, GDK_DECOR_MAXIMIZE = 64 } GdkWMDecoration; typedef enum { GDK_FUNC_ALL = 1, GDK_FUNC_RESIZE = 2, GDK_FUNC_MOVE = 4, GDK_FUNC_MINIMIZE = 8, GDK_FUNC_MAXIMIZE = 16, GDK_FUNC_CLOSE = 32 } GdkWMFunction; typedef struct _GdkKeymapKey { guint keycode; gint group; gint level; } GdkKeymapKey; typedef enum { GDK_RGB_DITHER_NONE = 0, GDK_RGB_DITHER_NORMAL = 1, GDK_RGB_DITHER_MAX = 2 } GdkRgbDither; typedef struct _GdkRgbCmap { guint32 colors[256]; gint n_colors; GSList *info_list; } GdkRgbCmap; typedef enum { GDK_COPY = 0, GDK_INVERT = 1, GDK_XOR = 2, GDK_CLEAR = 3, GDK_AND = 4, GDK_AND_REVERSE = 5, GDK_AND_INVERT = 6, GDK_NOOP = 7, GDK_OR = 8, GDK_EQUIV = 9, GDK_OR_REVERSE = 10, GDK_COPY_INVERT = 11, GDK_OR_INVERT = 12, GDK_NAND = 13, GDK_NOR = 14, GDK_SET = 15 } GdkFunction; typedef enum { GDK_LINE_SOLID = 0, GDK_LINE_ON_OFF_DASH = 1, GDK_LINE_DOUBLE_DASH = 2 } GdkLineStyle; typedef enum { GDK_CAP_NOT_LAST = 0, GDK_CAP_BUTT = 1, GDK_CAP_ROUND = 2, GDK_CAP_PROJECTING = 3 } GdkCapStyle; typedef enum { GDK_JOIN_MITER = 0, GDK_JOIN_ROUND = 1, GDK_JOIN_BEVEL = 2 } GdkJoinStyle; typedef struct _GdkGCValues { GdkColor foreground; GdkColor background; GdkFont *font; GdkFunction function; GdkFill fill; GdkPixmap *tile; GdkPixmap *stipple; GdkPixmap *clip_mask; GdkSubwindowMode subwindow_mode; gint ts_x_origin; gint ts_y_origin; gint clip_x_origin; gint clip_y_origin; gint graphics_exposures; gint line_width; GdkLineStyle line_style; GdkCapStyle cap_style; GdkJoinStyle join_style; } GdkGCValues; typedef enum { GDK_GC_FOREGROUND = 1, GDK_GC_BACKGROUND = 2, GDK_GC_FONT = 4, GDK_GC_