This file is indexed.

/usr/include/hippo-canvas-1/hippo/hippo-canvas-context.h is in libhippocanvas-dev 0.3.1-1.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
#ifndef __HIPPO_CANVAS_CONTEXT_H__
#define __HIPPO_CANVAS_CONTEXT_H__

/*
 * Setting a context is sort of like the GTK concept of "realization"
 * - it does not necessarily map to the item being in a container, and
 * in fact the root item has a context but would not have a parent
 * container, for example.  Also an item can be in a container item and not
 * have a context if the container item does not have a context, for
 * example if the whole tree of items is not in a HippoCanvas widget.
 * 
 * If for example we were printing a tree of canvas items, we
 * might have to temporarily set the context to a special print
 * context (though this has problems, such as temporarily unrealizing
 * any widget items; so print support may require larger changes than
 * just creating a print context).
 *
 */

#include <hippo/hippo-graphics.h>
#include <hippo/hippo-animation-manager.h>
#include <pango/pango-layout.h>
#include <cairo.h>

G_BEGIN_DECLS

typedef struct _HippoCanvasItem      HippoCanvasItem;
typedef struct _HippoCanvasItemIface HippoCanvasItemIface;

typedef struct _HippoCanvasContainer      HippoCanvasContainer;
typedef struct _HippoCanvasContainerIface HippoCanvasContainerIface;

typedef enum {
    HIPPO_STOCK_COLOR_BG_NORMAL,
    HIPPO_STOCK_COLOR_BG_PRELIGHT,
    HIPPO_STOCK_COLOR_FG
} HippoStockColor;

typedef struct _HippoCanvasStyle      HippoCanvasStyle;
typedef struct _HippoCanvasStyleClass HippoCanvasStyleClass;
typedef struct _HippoCanvasTheme      HippoCanvasTheme;
typedef struct _HippoCanvasThemeClass HippoCanvasThemeClass;

typedef struct _HippoCanvasContext      HippoCanvasContext;
typedef struct _HippoCanvasContextIface HippoCanvasContextIface;

#define HIPPO_TYPE_CANVAS_CONTEXT              (hippo_canvas_context_get_type ())
#define HIPPO_CANVAS_CONTEXT(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), HIPPO_TYPE_CANVAS_CONTEXT, HippoCanvasContext))
#define HIPPO_IS_CANVAS_CONTEXT(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), HIPPO_TYPE_CANVAS_CONTEXT))
#define HIPPO_CANVAS_CONTEXT_GET_IFACE(obj)    (G_TYPE_INSTANCE_GET_INTERFACE ((obj), HIPPO_TYPE_CANVAS_CONTEXT, HippoCanvasContextIface))

struct _HippoCanvasContextIface {
    GTypeInterface base_iface;

    PangoLayout*     (* create_layout)  (HippoCanvasContext  *context);
    cairo_surface_t* (* create_surface) (HippoCanvasContext  *context,
                                         cairo_content_t      content,
                                         int                  width,
                                         int                  height);

    cairo_surface_t* (* load_image)     (HippoCanvasContext  *context,
                                         const char          *image_name);

    guint32          (* get_color)      (HippoCanvasContext  *context,
                                         HippoStockColor      color);

    void             (* register_widget_item)   (HippoCanvasContext *context,
                                                 HippoCanvasItem    *item);
    void             (* unregister_widget_item) (HippoCanvasContext *context,
                                                 HippoCanvasItem    *item);    
    void             (* translate_to_widget)    (HippoCanvasContext *context,
                                                 HippoCanvasItem    *item,
                                                 int                *x_p,
                                                 int                *y_p);
    void             (* translate_to_screen)    (HippoCanvasContext *context,
                                                 HippoCanvasItem    *item,
                                                 int                *x_p,
                                                 int                *y_p);
    HippoCanvasStyle *(* get_style)             (HippoCanvasContext *context);
    double            (* get_resolution)        (HippoCanvasContext *context);
    PangoFontDescription *(* get_font)          (HippoCanvasContext *context);
    
    HippoAnimationManager *( *get_animation_manager) (HippoCanvasContext *context);

    /* Signals */

    /* Inherited style properties (see affect_* methods) have changed.
     * resize_needed means the change needs a resize not just repaint.
     */
    void             (* style_changed)    (HippoCanvasContext *context,
                                           gboolean            resize_needed);
};

GType            hippo_canvas_context_get_type               (void) G_GNUC_CONST;

PangoLayout*     hippo_canvas_context_create_layout          (HippoCanvasContext *context);

cairo_surface_t* hippo_canvas_context_create_surface         (HippoCanvasContext *context,
                                                              cairo_content_t     content,
                                                              int                 width,
                                                              int                 height);

cairo_surface_t* hippo_canvas_context_load_image             (HippoCanvasContext *context,
                                                              const char         *image_name);
guint32          hippo_canvas_context_get_color              (HippoCanvasContext *context,
                                                              HippoStockColor     color);

void hippo_canvas_context_register_widget_item   (HippoCanvasContext *context,
                                                  HippoCanvasItem    *item);
void hippo_canvas_context_unregister_widget_item (HippoCanvasContext *context,
                                                  HippoCanvasItem    *item);
void hippo_canvas_context_translate_to_widget    (HippoCanvasContext *context,
                                                  HippoCanvasItem    *item,
                                                  int                *x_p,
                                                  int                *y_p);
void hippo_canvas_context_translate_to_screen    (HippoCanvasContext *context,
                                                  HippoCanvasItem    *item,
                                                  int                *x_p,
                                                  int                *y_p);

HippoCanvasStyle     *hippo_canvas_context_get_style      (HippoCanvasContext *context);
double                hippo_canvas_context_get_resolution (HippoCanvasContext *context);
PangoFontDescription *hippo_canvas_context_get_font       (HippoCanvasContext *context);

HippoAnimationManager *hippo_canvas_context_get_animation_manager (HippoCanvasContext *context);

void hippo_canvas_context_emit_style_changed(HippoCanvasContext *context,
                                             gboolean            resize_needed);

G_END_DECLS

#endif /* __HIPPO_CANVAS_CONTEXT_H__ */