📄 dw_image.h
字号:
#ifndef __DW_IMAGE_H__#define __DW_IMAGE_H__#include "dw_widget.h"#include "url.h" /* for DilloUrl */#ifdef __cplusplusextern "C" {#endif /* __cplusplus */#define DW_TYPE_IMAGE (a_Dw_image_get_type())#define DW_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DW_TYPE_IMAGE, DwImage))#define DW_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DW_TYPE_IMAGE, DwImageClass))#define DW_IMAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DW_TYPE_IMAGE, DwImageClass))#define DW_IS_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DW_TYPE_IMAGE))typedef enum { DW_IMAGE_RGB} DwImageType;typedef struct _DwImage DwImage;typedef struct _DwImageClass DwImageClass;typedef struct _DwImageMap DwImageMap;typedef struct _DwImageMapList DwImageMapList;typedef struct _DwImageMapShape DwImageMapShape;struct _DwImage{ DwWidget widget; DilloUrl *url; gint version; gint width; gint height; gint alt_text_width;#if 0 DwImageType type; guchar *buffer; /* non NULL if image is scaled */ guchar *scaled_buffer;#else BITMAP* bmp; /* non NULL if image is scaled */ BITMAP* scaled_bmp;#endif#if 0 /* text "tooltip" for images */ DwTooltip *tooltip;#endif /* ALT text (for selection) */ gchar *alt_text; DwImageMapList *map_list; DilloUrl *usemap_url; gboolean ismap; gint hover_link; gint pressed_link; gboolean selected[DW_HIGHLIGHT_NUM_LAYERS];};struct _DwImageClass{ DwWidgetClass parent_class; gboolean (*link_entered) (DwImage *page, gint link, gint x, gint y); gboolean (*link_pressed) (DwImage *page, gint link, gint x, gint y, DWORD flags); gboolean (*link_released) (DwImage *page, gint link, gint x, gint y, DWORD flags); gboolean (*link_clicked) (DwImage *page, gint link, gint x, gint y, DWORD flags);};/* * Image Maps */#define DW_IMAGE_MAP_SHAPE_RECT 0#define DW_IMAGE_MAP_SHAPE_CIRCLE 1#define DW_IMAGE_MAP_SHAPE_POLY 2struct _DwImageMapList{ DwImageMap *maps; gint num_maps; gint num_maps_max; DwImageMapShape *shapes; gint num_shapes; gint num_shapes_max;};struct _DwImageMap{ DilloUrl *url; gint start_shape;};struct _DwImageMapShape{ gint type; gint link; union { CLIPRGN poly; struct { gint32 x; gint32 y; gint32 r2; } circle; struct { gint32 top; gint32 bottom; gint32 left; gint32 right; } rect; } data;};/* * Function prototypes */GType a_Dw_image_get_type (void);DwWidget* a_Dw_image_new (DwImageType type, const gchar *tooltip, const gchar *alt_text);void a_Dw_image_size (DwImage *image, BITMAP* bmp, gint width, gint height);void a_Dw_image_draw_row(DwImage *image, gint Width, gint Height, gint x, gint y);void a_Dw_image_set_buffer(DwImage *image, BITMAP* ImageBmp, DilloUrl *url, gint version);void a_Dw_image_set_ismap (DwImage *image);void a_Dw_image_set_usemap (DwImage *image, DwImageMapList *map_list, DilloUrl *usemap_url);/* Image maps */void a_Dw_image_map_list_init (DwImageMapList *list);void a_Dw_image_map_list_free (DwImageMapList *list);void a_Dw_image_map_list_add_map (DwImageMapList *list, DilloUrl *url);void a_Dw_image_map_list_add_shape (DwImageMapList *list, gint type, gint link, POINT *points, gint num_points);#ifdef __cplusplus}#endif /* __cplusplus */#endif /* __DW_IMAGE_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -