aboutsummaryrefslogtreecommitdiffstats
path: root/minilibx-bsd/mlx_int.h
diff options
context:
space:
mode:
Diffstat (limited to 'minilibx-bsd/mlx_int.h')
-rw-r--r--minilibx-bsd/mlx_int.h125
1 files changed, 125 insertions, 0 deletions
diff --git a/minilibx-bsd/mlx_int.h b/minilibx-bsd/mlx_int.h
new file mode 100644
index 0000000..4349f5f
--- /dev/null
+++ b/minilibx-bsd/mlx_int.h
@@ -0,0 +1,125 @@
+/*
+** mlx_int.h for mlx in
+**
+** Made by Charlie Root
+** Login <ol@epitech.net>
+**
+** Started on Mon Jul 31 16:45:48 2000 Charlie Root
+** Last update Wed May 25 16:44:16 2011 Olivier Crouzet
+*/
+
+
+
+/*
+** Internal settings for MiniLibX
+*/
+
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/mman.h>
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <sys/ipc.h>
+#include <sys/shm.h>
+#include <X11/extensions/XShm.h>
+/* #include <X11/xpm.h> */
+
+
+#define MLX_TYPE_SHM_PIXMAP 3
+#define MLX_TYPE_SHM 2
+#define MLX_TYPE_XIMAGE 1
+
+#define MLX_MAX_EVENT LASTEvent
+
+
+#define ENV_DISPLAY "DISPLAY"
+#define LOCALHOST "localhost"
+#define ERR_NO_TRUECOLOR "MinilibX Error : No TrueColor Visual available.\n"
+#define WARN_SHM_ATTACH "MinilibX Warning : X server can't attach shared memory.\n"
+
+
+typedef struct s_xpm_col
+{
+ int name;
+ int col;
+} t_xpm_col;
+
+
+struct s_col_name
+{
+ char *name;
+ int color;
+};
+
+typedef struct s_event_list
+{
+ int mask;
+ int (*hook)();
+ void *param;
+} t_event_list;
+
+
+typedef struct s_win_list
+{
+ Window window;
+ GC gc;
+ struct s_win_list *next;
+ int (*mouse_hook)();
+ int (*key_hook)();
+ int (*expose_hook)();
+ void *mouse_param;
+ void *key_param;
+ void *expose_param;
+ t_event_list hooks[MLX_MAX_EVENT];
+} t_win_list;
+
+
+typedef struct s_img
+{
+ XImage *image;
+ Pixmap pix;
+ GC gc;
+ int size_line;
+ int bpp;
+ int width;
+ int height;
+ int type;
+ int format;
+ char *data;
+ XShmSegmentInfo shm;
+} t_img;
+
+typedef struct s_xvar
+{
+ Display *display;
+ Window root;
+ int screen;
+ int depth;
+ Visual *visual;
+ Colormap cmap;
+ int private_cmap;
+ t_win_list *win_list;
+ int (*loop_hook)();
+ void *loop_param;
+ int use_xshm;
+ int pshm_format;
+ int do_flush;
+ int decrgb[6];
+} t_xvar;
+
+
+int mlx_int_do_nothing();
+int mlx_int_get_good_color();
+int mlx_int_find_in_pcm();
+int mlx_int_anti_resize_win();
+int mlx_int_wait_first_expose();
+int mlx_int_rgb_conversion();
+int mlx_int_deal_shm();
+void *mlx_int_new_xshm_image();
+char **mlx_int_str_to_wordtab();
+void *mlx_new_image();
+int shm_att_pb();