xsettings-common.inc 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. {%MainUnit ../gdk2x.pas}
  2. {$IFDEF read_interface_rest}
  3. { Renames for GDK inclusion }
  4. {const
  5. xsettings_byte_order = _gdk_xsettings_byte_order;
  6. xsettings_client_destroy = _gdk_xsettings_client_destroy;
  7. xsettings_client_get_setting = _gdk_xsettings_client_get_setting;
  8. xsettings_client_new = _gdk_xsettings_client_new;
  9. xsettings_client_process_event = _gdk_xsettings_client_process_event;
  10. xsettings_list_copy = _gdk_xsettings_list_copy;
  11. xsettings_list_delete = _gdk_xsettings_list_delete;
  12. xsettings_list_free = _gdk_xsettings_list_free;
  13. xsettings_list_insert = _gdk_xsettings_list_insert;
  14. xsettings_list_lookup = _gdk_xsettings_list_lookup;
  15. xsettings_setting_copy = _gdk_xsettings_setting_copy;
  16. xsettings_setting_equal = _gdk_xsettings_setting_equal;
  17. xsettings_setting_free = _gdk_xsettings_setting_free;}
  18. type
  19. { Types of settings possible. Enum values correspond to protocol values. }
  20. PXSettingsType = ^TXSettingsType;
  21. TXSettingsType = Longint;
  22. Const
  23. XSETTINGS_TYPE_INT = 0;
  24. XSETTINGS_TYPE_STRING = 1;
  25. XSETTINGS_TYPE_COLOR = 2;
  26. type
  27. PXSettingsResult = ^TXSettingsResult;
  28. TXSettingsResult = Longint;
  29. Const
  30. XSETTINGS_SUCCESS = 0;
  31. XSETTINGS_NO_MEM = 1;
  32. XSETTINGS_ACCESS = 2;
  33. XSETTINGS_FAILED = 3;
  34. XSETTINGS_NO_ENTRY = 4;
  35. XSETTINGS_DUPLICATE_ENTRY = 5;
  36. type
  37. PXSettingsBuffer = ^TXSettingsBuffer;
  38. TXSettingsBuffer = record
  39. byte_order : char;
  40. len : size_t;
  41. data : Pbyte;
  42. pos : Pbyte;
  43. end;
  44. PXSettingsColor = ^TXSettingsColor;
  45. TXSettingsColor = record
  46. red : word;
  47. green : word;
  48. blue : word;
  49. alpha : word;
  50. end;
  51. PXSettingsSetting = ^TXSettingsSetting;
  52. TXSettingsSetting = record
  53. name : Pchar;
  54. _type : TXSettingsType;
  55. data : record
  56. case longint of
  57. 0 : ( v_int : longint );
  58. 1 : ( v_string : Pchar );
  59. 2 : ( v_color : TXSettingsColor );
  60. end;
  61. last_change_serial : dword;
  62. end;
  63. PPXSettingsSetting = ^PXSettingsSetting;
  64. PXSettingsList = ^TXSettingsList;
  65. TXSettingsList = record
  66. setting : PXSettingsSetting;
  67. next : PXSettingsList;
  68. end;
  69. PPXSettingsList = ^PXSettingsList;
  70. function xsettings_setting_copy(setting:PXSettingsSetting):PXSettingsSetting;cdecl;external;
  71. procedure xsettings_setting_free(setting:PXSettingsSetting);cdecl;external;
  72. function xsettings_setting_equal(setting_a:PXSettingsSetting; setting_b:PXSettingsSetting):longint;cdecl;external;
  73. procedure xsettings_list_free(list:PXSettingsList);cdecl;external;
  74. function xsettings_list_copy(list:PXSettingsList):PXSettingsList;cdecl;external;
  75. function xsettings_list_insert(list:PPXSettingsList; setting:PXSettingsSetting):TXSettingsResult;cdecl;external;
  76. (* Const before type ignored *)
  77. function xsettings_list_lookup(list:PXSettingsList; name:Pchar):PXSettingsSetting;cdecl;external;
  78. (* Const before type ignored *)
  79. function xsettings_list_delete(list:PPXSettingsList; name:Pchar):TXSettingsResult;cdecl;external;
  80. function xsettings_byte_order:char;cdecl;external;
  81. function XSETTINGS_PAD(n,m : longint) : longint;
  82. {$ENDIF read_interface_rest}
  83. {$IFDEF read_implementation}
  84. function XSETTINGS_PAD(n,m : longint) : longint;
  85. begin
  86. XSETTINGS_PAD:=((n + m) - 1) and ( not (m - 1));
  87. end;
  88. {$ENDIF read_implementation}