]> git.imager.perl.org - imager.git/blobdiff - imdatatypes.h
1.001 release
[imager.git] / imdatatypes.h
index b56b43f18c6aa46bd0decc4c6e578e0ba03eed21..9d5cf7471f50ccafd3255552b3b4d510452d7848 100644 (file)
@@ -8,6 +8,9 @@
 
 typedef struct im_context_tag *im_context_t;
 
+typedef ptrdiff_t im_slot_t;
+typedef void (*im_slot_destroy_t)(void *);
+
 /* used for palette indices in some internal code (which might be 
    exposed at some point
 */
@@ -38,6 +41,9 @@ May be larger than int on some platforms.
 */
 
 typedef ptrdiff_t i_img_dim;
+typedef size_t i_img_dim_u;
+
+#define i_img_dim_MAX ((i_img_dim)(~(i_img_dim_u)0 >> 1))
 
 /*
 =item i_color
@@ -553,6 +559,18 @@ typedef enum {
   ic_color
 } i_combine_t;
 
+/*
+=item i_mutex_t
+X<i_mutex>
+=category mutex
+=synopsis i_mutex_t mutex;
+
+Opaque type for Imager's mutex API.
+
+=cut
+ */
+typedef struct i_mutex_tag *i_mutex_t;
+
 /*
    describes an axis of a MM font.
    Modelled on FT2's FT_MM_Axis.
@@ -694,6 +712,13 @@ enum {
 
 #include "iolayert.h"
 
+/* error message information returned by im_errors() */
+
+typedef struct {
+  char *msg;
+  int code;
+} i_errmsg;
+
 typedef struct i_render_tag i_render;
 
 #ifdef IMAGER_FORMAT_ATTR