gvalue.inc 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // included by glib2.pas
  2. {$IFDEF read_forward_definitions}
  3. {< private > }
  4. { public for GTypeValueTable methods }
  5. PGValue = ^TGValue;
  6. TGValue = record
  7. g_type : GType;
  8. data : array[0..1] of record
  9. case longint of
  10. 0 : ( v_int : gint );
  11. 1 : ( v_uint : guint );
  12. 2 : ( v_long : glong );
  13. 3 : ( v_ulong : gulong );
  14. 4 : ( v_int64 : gint64 );
  15. 5 : ( v_uint64 : guint64 );
  16. 6 : ( v_float : gfloat );
  17. 7 : ( v_double : gdouble );
  18. 8 : ( v_pointer : gpointer );
  19. end;
  20. end;
  21. {$ENDIF read_forward_definitions}
  22. //------------------------------------------------------------------------------
  23. {$IFDEF read_interface_rest}
  24. { --- type macros --- }
  25. function G_TYPE_IS_VALUE(_type : GType) : boolean;
  26. function G_IS_VALUE(value : pointer) : boolean;
  27. function G_VALUE_TYPE(value : Pointer) : GType;
  28. function G_VALUE_TYPE_NAME(value : Pointer) : PGChar;
  29. function G_VALUE_HOLDS(value: pointer; g_type : GType) : boolean;
  30. { --- typedefs & structures --- }
  31. type
  32. TGValueTransform = procedure (src_value:PGValue; dest_value:PGValue); cdecl;
  33. { --- prototypes --- }
  34. function g_value_init(value:PGValue; g_type:GType):PGValue; cdecl; external gobjectlib;
  35. procedure g_value_copy(src_value:PGValue; dest_value:PGValue); cdecl; external gobjectlib;
  36. function g_value_reset(value:PGValue):PGValue; cdecl; external gobjectlib;
  37. procedure g_value_unset(value:PGValue); cdecl; external gobjectlib;
  38. procedure g_value_set_instance(value:PGValue; instance:gpointer); cdecl; external gobjectlib;
  39. { --- private --- }
  40. function g_value_fits_pointer(value:PGValue):gboolean; cdecl; external gobjectlib;
  41. function g_value_peek_pointer(value:PGValue):gpointer; cdecl; external gobjectlib;
  42. { --- implementation details --- }
  43. function g_value_type_compatible(src_type:GType; dest_type:GType):gboolean; cdecl; external gobjectlib;
  44. function g_value_type_transformable(src_type:GType; dest_type:GType):gboolean; cdecl; external gobjectlib;
  45. function g_value_transform(src_value:PGValue; dest_value:PGValue):gboolean; cdecl; external gobjectlib;
  46. procedure g_value_register_transform_func(src_type:GType; dest_type:GType; transform_func:TGValueTransform); cdecl; external gobjectlib;
  47. const
  48. G_VALUE_NOCOPY_CONTENTS = 1 shl 27;
  49. {$ENDIF read_interface_rest}
  50. // included by glib2.pas