gvalue.inc 2.4 KB

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