forked from enlightenment/efl
we have......... objects! :) some primitive inheritance too.
SVN revision: 2942
This commit is contained in:
parent
1fbb067826
commit
b4653f5d19
|
@ -4,14 +4,24 @@
|
||||||
#include <X11/Xlib.h>
|
#include <X11/Xlib.h>
|
||||||
#include <Imlib2.h>
|
#include <Imlib2.h>
|
||||||
|
|
||||||
typedef struct _Evas * Evas;
|
typedef struct _Evas * Evas;
|
||||||
typedef struct _Evas_Gradient * Evas_Gradient;
|
typedef struct _Evas_Gradient * Evas_Gradient;
|
||||||
typedef void * Evas_Object;
|
typedef struct _Evas_Object_Any * Evas_Object;
|
||||||
typedef void * Evas_Group;
|
typedef struct _Evas_Object_Any * Evas_Object_Any;
|
||||||
typedef int Evas_Callback_Type;
|
typedef void * Evas_Group;
|
||||||
typedef int Evas_Image_Format;
|
typedef int Evas_Callback_Type;
|
||||||
typedef struct _Evas_List * Evas_List;
|
typedef int Evas_Image_Format;
|
||||||
typedef struct _Evas_Layer * Evas_Layer;
|
typedef int Evas_Blend_Mode;
|
||||||
|
typedef struct _Evas_List * Evas_List;
|
||||||
|
typedef struct _Evas_Layer * Evas_Layer;
|
||||||
|
typedef struct _Evas_Color_Point * Evas_Color_Point;
|
||||||
|
typedef struct _Evas_Object_Image * Evas_Object_Image;
|
||||||
|
typedef struct _Evas_Object_Text * Evas_Object_Text;
|
||||||
|
typedef struct _Evas_Object_Rectangle * Evas_Object_Rectangle;
|
||||||
|
typedef struct _Evas_Object_Line * Evas_Object_Line;
|
||||||
|
typedef struct _Evas_Object_Gradient_Box * Evas_Object_Gradient_Box;
|
||||||
|
typedef struct _Evas_Object_Bits * Evas_Object_Bits;
|
||||||
|
typedef struct _Evas_Object_Evas * Evas_Object_Evas;
|
||||||
|
|
||||||
#define RENDER_METHOD_ALPHA_SOFTWARE 0
|
#define RENDER_METHOD_ALPHA_SOFTWARE 0
|
||||||
#define RENDER_METHOD_BASIC_HARDWARE 1
|
#define RENDER_METHOD_BASIC_HARDWARE 1
|
||||||
|
@ -29,17 +39,17 @@ typedef struct _Evas_Layer * Evas_Layer;
|
||||||
|
|
||||||
struct _Evas
|
struct _Evas
|
||||||
{
|
{
|
||||||
struct _state {
|
struct {
|
||||||
Display *display;
|
Display *display;
|
||||||
Drawable drawable;
|
Drawable drawable;
|
||||||
Visual *visual;
|
Visual *visual;
|
||||||
Colormap colormap;
|
Colormap colormap;
|
||||||
|
|
||||||
struct _output {
|
struct {
|
||||||
int x, y, w, h;
|
int x, y, w, h;
|
||||||
} output;
|
} output;
|
||||||
|
|
||||||
struct _viewport {
|
struct {
|
||||||
double x, y, w, h;
|
double x, y, w, h;
|
||||||
} viewport;
|
} viewport;
|
||||||
|
|
||||||
|
@ -47,16 +57,23 @@ struct _Evas
|
||||||
|
|
||||||
int render_method;
|
int render_method;
|
||||||
|
|
||||||
|
void *renderer_data;
|
||||||
|
|
||||||
} current, previous;
|
} current, previous;
|
||||||
|
|
||||||
/* externally provided updates for drawable relative rects */
|
/* externally provided updates for drawable relative rects */
|
||||||
Evas_List *updates;
|
Evas_List *updates;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct _Evas_Color_Point
|
||||||
|
{
|
||||||
|
int r, g, b, a;
|
||||||
|
int distance;
|
||||||
|
};
|
||||||
|
|
||||||
struct _Evas_Gradient
|
struct _Evas_Gradient
|
||||||
{
|
{
|
||||||
/* implimentation dependant part */
|
Evas_List *color_points;
|
||||||
Imlib_Color_Range color_range;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _Evas_List
|
struct _Evas_List
|
||||||
|
@ -68,14 +85,95 @@ struct _Evas_List
|
||||||
struct _Evas_Layer
|
struct _Evas_Layer
|
||||||
{
|
{
|
||||||
int layer;
|
int layer;
|
||||||
int store;
|
|
||||||
Evas_List *objects;
|
Evas_List *objects;
|
||||||
|
Evas_List *groups;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
int store;
|
||||||
|
} current, previous;
|
||||||
|
|
||||||
|
void *renderer_data;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Evas_Object_Any
|
||||||
|
{
|
||||||
|
int type;
|
||||||
|
struct {
|
||||||
|
double x, y, w, h;
|
||||||
|
Evas_Blend_Mode mode;
|
||||||
|
int zoomscale;
|
||||||
|
} current, previous;
|
||||||
|
Evas_List *groups;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Evas_Object_Image
|
||||||
|
{
|
||||||
|
Evas_Object_Any object;
|
||||||
|
struct {
|
||||||
|
char *file;
|
||||||
|
double angle;
|
||||||
|
struct _fill {
|
||||||
|
double x, y, w, h;
|
||||||
|
} fill;
|
||||||
|
} current, previous;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Evas_Object_Text
|
||||||
|
{
|
||||||
|
Evas_Object_Any object;
|
||||||
|
struct {
|
||||||
|
char *text;
|
||||||
|
double angle;
|
||||||
|
int r, g, b, a;
|
||||||
|
} current, previous;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Evas_Object_Rectangle
|
||||||
|
{
|
||||||
|
Evas_Object_Any object;
|
||||||
|
struct {
|
||||||
|
int r, g, b, a;
|
||||||
|
} current, previous;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Evas_Object_Line
|
||||||
|
{
|
||||||
|
Evas_Object_Any object;
|
||||||
|
struct {
|
||||||
|
double x1, y1, x2, y2;
|
||||||
|
int r, g, b, a;
|
||||||
|
} current, previous;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Evas_Object_Gradient_Box
|
||||||
|
{
|
||||||
|
Evas_Object_Any object;
|
||||||
|
struct {
|
||||||
|
Evas_Gradient gradient;
|
||||||
|
double angle;
|
||||||
|
} current, previous;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Evas_Object_Bits
|
||||||
|
{
|
||||||
|
Evas_Object_Any object;
|
||||||
|
struct {
|
||||||
|
char *file;
|
||||||
|
} current, previous;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Evas_Object_Evas
|
||||||
|
{
|
||||||
|
Evas_Object_Any object;
|
||||||
|
struct {
|
||||||
|
Evas *evas;
|
||||||
|
} current, previous;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* create and destroy */
|
/* create and destroy */
|
||||||
Evas evas_new(void);
|
Evas evas_new(void);
|
||||||
void evas_free(Evas e);
|
void evas_free(Evas e);
|
||||||
|
@ -110,15 +208,15 @@ Evas_Object evas_add_evas(Evas e, Evas evas);
|
||||||
|
|
||||||
/* set object settings */
|
/* set object settings */
|
||||||
void evas_set_image_file(Evas e, Evas_Object o, char *file);
|
void evas_set_image_file(Evas e, Evas_Object o, char *file);
|
||||||
void evas_set_image_fill_size(Evas e, Evas_Object o, double w, double h);
|
void evas_set_image_fill(Evas e, Evas_Object o, double x, double y, double w, double h);
|
||||||
void evas_set_bits_file(Evas e, Evas_Object o, char *file);
|
void evas_set_bits_file(Evas e, Evas_Object o, char *file);
|
||||||
void evas_set_color(Evas e, Evas_Object o, int r, Evas_Group g, int b, int a);
|
void evas_set_color(Evas e, Evas_Object o, int r, Evas_Group g, int b, int a);
|
||||||
void evas_set_gradient_angle(Evas e, Evas_Object o, double angle);
|
|
||||||
void evas_set_gradient(Evas e, Evas_Object o, Evas_Gradient grad);
|
void evas_set_gradient(Evas e, Evas_Object o, Evas_Gradient grad);
|
||||||
void evas_set_angle(Evas e, Evas_Object o, double angle);
|
void evas_set_angle(Evas e, Evas_Object o, double angle);
|
||||||
void evas_set_blend_mode(Evas e, int mode);
|
void evas_set_blend_mode(Evas e, Evas_Blend_Mode mode);
|
||||||
void evas_set_zoom_scale(Evas e, Evas_Object o, int scale);
|
void evas_set_zoom_scale(Evas e, Evas_Object o, int scale);
|
||||||
|
void evas_set_line_xy(Evas e, Evas_Object o, double x1, double y1, double x2, double y2);
|
||||||
|
|
||||||
/* layer stacking for object */
|
/* layer stacking for object */
|
||||||
void evas_set_layer(Evas e, Evas_Object o, int l);
|
void evas_set_layer(Evas e, Evas_Object o, int l);
|
||||||
void evas_set_layer_store(Evas e, int l, int store);
|
void evas_set_layer_store(Evas e, int l, int store);
|
||||||
|
@ -147,6 +245,7 @@ void evas_hide(Evas e, Evas_Object o);
|
||||||
Evas_Group evas_add_group(Evas e);
|
Evas_Group evas_add_group(Evas e);
|
||||||
void evas_add_to_group(Evas e, Evas_Object o, Evas_Group g);
|
void evas_add_to_group(Evas e, Evas_Object o, Evas_Group g);
|
||||||
void evas_disband_group(Evas e, Evas_Group g);
|
void evas_disband_group(Evas e, Evas_Group g);
|
||||||
|
void evas_free_group(Evas e, Evas_Group g);
|
||||||
void evas_del_from_group(Evas e, Evas_Object o, Evas_Group g);
|
void evas_del_from_group(Evas e, Evas_Object o, Evas_Group g);
|
||||||
|
|
||||||
/* evas bits ops */
|
/* evas bits ops */
|
||||||
|
|
|
@ -104,7 +104,7 @@ evas_set_image_file(Evas e, Evas_Object o, char *file)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
evas_set_image_fill_size(Evas e, Evas_Object o, double w, double h)
|
evas_set_image_fill(Evas e, Evas_Object o, double x, double y, double w, double h)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -118,11 +118,6 @@ evas_set_color(Evas e, Evas_Object o, int r, Evas_Group g, int b, int a)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
evas_set_gradient_angle(Evas e, Evas_Object o, double angle)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
evas_set_gradient(Evas e, Evas_Object o, Evas_Gradient grad)
|
evas_set_gradient(Evas e, Evas_Object o, Evas_Gradient grad)
|
||||||
{
|
{
|
||||||
|
@ -134,7 +129,7 @@ evas_set_angle(Evas e, Evas_Object o, double angle)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
evas_set_blend_mode(Evas e, int mode)
|
evas_set_blend_mode(Evas e, Evas_Blend_Mode mode)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -143,6 +138,11 @@ evas_set_zoom_scale(Evas e, Evas_Object o, int scale)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
evas_set_line_xy(Evas e, Evas_Object o, double x1, double y1, double x2, double y2)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/* layer stacking for object */
|
/* layer stacking for object */
|
||||||
void
|
void
|
||||||
evas_set_layer(Evas e, Evas_Object o, int l)
|
evas_set_layer(Evas e, Evas_Object o, int l)
|
||||||
|
@ -234,6 +234,11 @@ evas_disband_group(Evas e, Evas_Group g)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
evas_free_group(Evas e, Evas_Group g)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
evas_del_from_group(Evas e, Evas_Object o, Evas_Group g)
|
evas_del_from_group(Evas e, Evas_Object o, Evas_Group g)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue