xresource.nim 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. import
  2. x, xlib
  3. #const
  4. # libX11* = "libX11.so"
  5. #
  6. # Automatically converted by H2Pas 0.99.15 from xresource.h
  7. # The following command line parameters were used:
  8. # -p
  9. # -T
  10. # -S
  11. # -d
  12. # -c
  13. # xresource.h
  14. #
  15. proc Xpermalloc*(para1: int32): cstring{.cdecl, dynlib: libX11, importc.}
  16. type
  17. PXrmQuark* = ptr TXrmQuark
  18. TXrmQuark* = int32
  19. TXrmQuarkList* = PXrmQuark
  20. PXrmQuarkList* = ptr TXrmQuarkList
  21. proc NULLQUARK*(): TXrmQuark
  22. type
  23. PXrmString* = ptr TXrmString
  24. TXrmString* = ptr char
  25. proc NULLSTRING*(): TXrmString
  26. proc XrmStringToQuark*(para1: cstring): TXrmQuark{.cdecl, dynlib: libX11,
  27. importc.}
  28. proc XrmPermStringToQuark*(para1: cstring): TXrmQuark{.cdecl, dynlib: libX11,
  29. importc.}
  30. proc XrmQuarkToString*(para1: TXrmQuark): TXrmString{.cdecl, dynlib: libX11,
  31. importc.}
  32. proc XrmUniqueQuark*(): TXrmQuark{.cdecl, dynlib: libX11, importc.}
  33. #when defined(MACROS):
  34. proc XrmStringsEqual*(a1, a2: cstring): bool
  35. type
  36. PXrmBinding* = ptr TXrmBinding
  37. TXrmBinding* = enum
  38. XrmBindTightly, XrmBindLoosely
  39. TXrmBindingList* = PXrmBinding
  40. PXrmBindingList* = ptr TXrmBindingList
  41. proc XrmStringToQuarkList*(para1: cstring, para2: TXrmQuarkList){.cdecl,
  42. dynlib: libX11, importc.}
  43. proc XrmStringToBindingQuarkList*(para1: cstring, para2: TXrmBindingList,
  44. para3: TXrmQuarkList){.cdecl, dynlib: libX11,
  45. importc.}
  46. type
  47. PXrmName* = ptr TXrmName
  48. TXrmName* = TXrmQuark
  49. PXrmNameList* = ptr TXrmNameList
  50. TXrmNameList* = TXrmQuarkList
  51. #when defined(MACROS):
  52. proc XrmNameToString*(name: int32): TXrmString
  53. proc XrmStringToName*(str: cstring): int32
  54. proc XrmStringToNameList*(str: cstring, name: PXrmQuark)
  55. type
  56. PXrmClass* = ptr TXrmClass
  57. TXrmClass* = TXrmQuark
  58. PXrmClassList* = ptr TXrmClassList
  59. TXrmClassList* = TXrmQuarkList
  60. #when defined(MACROS):
  61. proc XrmClassToString*(c_class: int32): TXrmString
  62. proc XrmStringToClass*(c_class: cstring): int32
  63. proc XrmStringToClassList*(str: cstring, c_class: PXrmQuark)
  64. type
  65. PXrmRepresentation* = ptr TXrmRepresentation
  66. TXrmRepresentation* = TXrmQuark
  67. #when defined(MACROS):
  68. proc XrmStringToRepresentation*(str: cstring): int32
  69. proc XrmRepresentationToString*(thetype: int32): TXrmString
  70. type
  71. PXrmValue* = ptr TXrmValue
  72. TXrmValue*{.final.} = object
  73. size*: int32
  74. address*: TXPointer
  75. TXrmValuePtr* = PXrmValue
  76. PXrmValuePtr* = ptr TXrmValuePtr
  77. PXrmHashBucketRec* = ptr TXrmHashBucketRec
  78. TXrmHashBucketRec*{.final.} = object
  79. TXrmHashBucket* = PXrmHashBucketRec
  80. PXrmHashBucket* = ptr TXrmHashBucket
  81. PXrmHashTable* = ptr TXrmHashTable
  82. TXrmHashTable* = ptr TXrmHashBucket
  83. TXrmDatabase* = PXrmHashBucketRec
  84. PXrmDatabase* = ptr TXrmDatabase
  85. proc XrmDestroyDatabase*(para1: TXrmDatabase){.cdecl, dynlib: libX11, importc.}
  86. proc XrmQPutResource*(para1: PXrmDatabase, para2: TXrmBindingList,
  87. para3: TXrmQuarkList, para4: TXrmRepresentation,
  88. para5: PXrmValue){.cdecl, dynlib: libX11, importc.}
  89. proc XrmPutResource*(para1: PXrmDatabase, para2: cstring, para3: cstring,
  90. para4: PXrmValue){.cdecl, dynlib: libX11, importc.}
  91. proc XrmQPutStringResource*(para1: PXrmDatabase, para2: TXrmBindingList,
  92. para3: TXrmQuarkList, para4: cstring){.cdecl,
  93. dynlib: libX11, importc.}
  94. proc XrmPutStringResource*(para1: PXrmDatabase, para2: cstring, para3: cstring){.
  95. cdecl, dynlib: libX11, importc.}
  96. proc XrmPutLineResource*(para1: PXrmDatabase, para2: cstring){.cdecl,
  97. dynlib: libX11, importc.}
  98. proc XrmQGetResource*(para1: TXrmDatabase, para2: TXrmNameList,
  99. para3: TXrmClassList, para4: PXrmRepresentation,
  100. para5: PXrmValue): TBool{.cdecl, dynlib: libX11, importc.}
  101. proc XrmGetResource*(para1: TXrmDatabase, para2: cstring, para3: cstring,
  102. para4: PPchar, para5: PXrmValue): TBool{.cdecl,
  103. dynlib: libX11, importc.}
  104. # There is no definition of TXrmSearchList
  105. #function XrmQGetSearchList(para1:TXrmDatabase; para2:TXrmNameList; para3:TXrmClassList; para4:TXrmSearchList; para5:longint):TBool;cdecl;external libX11;
  106. #function XrmQGetSearchResource(para1:TXrmSearchList; para2:TXrmName; para3:TXrmClass; para4:PXrmRepresentation; para5:PXrmValue):TBool;cdecl;external libX11;
  107. proc XrmSetDatabase*(para1: PDisplay, para2: TXrmDatabase){.cdecl,
  108. dynlib: libX11, importc.}
  109. proc XrmGetDatabase*(para1: PDisplay): TXrmDatabase{.cdecl, dynlib: libX11,
  110. importc.}
  111. proc XrmGetFileDatabase*(para1: cstring): TXrmDatabase{.cdecl, dynlib: libX11,
  112. importc.}
  113. proc XrmCombineFileDatabase*(para1: cstring, para2: PXrmDatabase, para3: TBool): TStatus{.
  114. cdecl, dynlib: libX11, importc.}
  115. proc XrmGetStringDatabase*(para1: cstring): TXrmDatabase{.cdecl, dynlib: libX11,
  116. importc.}
  117. proc XrmPutFileDatabase*(para1: TXrmDatabase, para2: cstring){.cdecl,
  118. dynlib: libX11, importc.}
  119. proc XrmMergeDatabases*(para1: TXrmDatabase, para2: PXrmDatabase){.cdecl,
  120. dynlib: libX11, importc.}
  121. proc XrmCombineDatabase*(para1: TXrmDatabase, para2: PXrmDatabase, para3: TBool){.
  122. cdecl, dynlib: libX11, importc.}
  123. const
  124. XrmEnumAllLevels* = 0
  125. XrmEnumOneLevel* = 1
  126. type
  127. funcbool* = proc (): TBool {.cdecl.}
  128. proc XrmEnumerateDatabase*(para1: TXrmDatabase, para2: TXrmNameList,
  129. para3: TXrmClassList, para4: int32, para5: funcbool,
  130. para6: TXPointer): TBool{.cdecl, dynlib: libX11,
  131. importc.}
  132. proc XrmLocaleOfDatabase*(para1: TXrmDatabase): cstring{.cdecl, dynlib: libX11,
  133. importc.}
  134. type
  135. PXrmOptionKind* = ptr TXrmOptionKind
  136. TXrmOptionKind* = enum
  137. XrmoptionNoArg, XrmoptionIsArg, XrmoptionStickyArg, XrmoptionSepArg,
  138. XrmoptionResArg, XrmoptionSkipArg, XrmoptionSkipLine, XrmoptionSkipNArgs
  139. PXrmOptionDescRec* = ptr TXrmOptionDescRec
  140. TXrmOptionDescRec*{.final.} = object
  141. option*: cstring
  142. specifier*: cstring
  143. argKind*: TXrmOptionKind
  144. value*: TXPointer
  145. TXrmOptionDescList* = PXrmOptionDescRec
  146. PXrmOptionDescList* = ptr TXrmOptionDescList
  147. proc XrmParseCommand*(para1: PXrmDatabase, para2: TXrmOptionDescList,
  148. para3: int32, para4: cstring, para5: ptr int32,
  149. para6: PPchar){.cdecl, dynlib: libX11, importc.}
  150. # implementation
  151. proc NULLQUARK(): TXrmQuark =
  152. result = TXrmQuark(0)
  153. proc NULLSTRING(): TXrmString =
  154. result = nil
  155. #when defined(MACROS):
  156. proc XrmStringsEqual(a1, a2: cstring): bool =
  157. #result = (strcomp(a1, a2)) == 0
  158. $a1 == $a2
  159. proc XrmNameToString(name: int32): TXrmString =
  160. result = XrmQuarkToString(name)
  161. proc XrmStringToName(str: cstring): int32 =
  162. result = XrmStringToQuark(str)
  163. proc XrmStringToNameList(str: cstring, name: PXrmQuark) =
  164. XrmStringToQuarkList(str, name)
  165. proc XrmClassToString(c_class: int32): TXrmString =
  166. result = XrmQuarkToString(c_class)
  167. proc XrmStringToClass(c_class: cstring): int32 =
  168. result = XrmStringToQuark(c_class)
  169. proc XrmStringToClassList(str: cstring, c_class: PXrmQuark) =
  170. XrmStringToQuarkList(str, c_class)
  171. proc XrmStringToRepresentation(str: cstring): int32 =
  172. result = XrmStringToQuark(str)
  173. proc XrmRepresentationToString(thetype: int32): TXrmString =
  174. result = XrmQuarkToString(thetype)