📄 dw_image.h
字号:
#ifndef __DW_IMAGE_H__#define __DW_IMAGE_H__#include <stdio.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) GTK_CHECK_CAST (obj,DW_TYPE_IMAGE, DwImage)#define DW_IMAGE_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, DW_TYPE_IMAGE, \ DwImageClass)#define DW_IS_IMAGE(obj) GTK_CHECK_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; DwImageType type; guchar *buffer; gint width; gint height; gint alt_text_width; /* non NULL if image is scaled */ guchar *scaled_buffer; /* 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, GdkEventButton *event); gboolean (*link_released) (DwImage *page, gint link, gint x, gint y, GdkEventButton *event); gboolean (*link_clicked) (DwImage *page, gint link, gint x, gint y, GdkEventButton *event);};/* * 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 { GdkRegion *poly; struct { gint32 x; gint32 y; gint32 r2; } circle; struct { gint32 top; gint32 bottom; gint32 left; gint32 right; } rect; } data;};/* * Function prototypes */GtkType a_Dw_image_get_type (void);DwWidget* a_Dw_image_new (DwImageType type, const gchar *alt_text);void a_Dw_image_size (DwImage *image, 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, guchar *ImageBuffer, 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, GdkPoint *points, gint num_points);#ifdef __cplusplus}#endif /* __cplusplus */#endif /* __DW_IMAGE_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -