This file is indexed.

/usr/share/idl/bonobo-2.0/Bonobo_Canvas.idl is in libbonobo2-common 2.32.1-0ubuntu1.

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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
/*
 * Canvas-based rendering of views
 *
 * Author:
 *    Miguel de Icaza (miguel@kernel.org)
 *
 * Copyright (C) 1999, 2000 Ximian, Inc.
 */

#ifndef BONOBO_CANVAS_IDL
#define BONOBO_CANVAS_IDL

#include "Bonobo_Unknown.idl"
#include "Bonobo_Gdk.idl"
#include "Bonobo_UI.idl"

module Bonobo {

module Canvas {
	typedef sequence<octet> pixbuf;

	/* At least 32 bits */
	typedef long int32;

	struct IRect {
		long x0, y0, x1, y1;
	};

	struct DRect {
		double x0, y0, x1, y1;
	};

	const short IS_BG  = 1;
	const short IS_BUF = 2;

	typedef double affine [6];

	/*
	 * See gnome-canvas.h:GnomeCanvasBuf for an explanation
	 */
	struct Buf {
		pixbuf rgb_buf;
		long   row_stride;
		IRect  rect;
		int32  bg_color;
		short  flags;
	};

	struct Point {
		double x, y;
	};

	typedef sequence<Point> Points;

	struct SVPSegment {
		boolean up;     /* up or down */
	        DRect   bbox;
		Canvas::Points  points;
	};
			  
	typedef sequence<SVPSegment> SVP;
      
	struct ArtUTA {
		short   x0, y0;
		short   width, height;
		sequence<int32> utiles;
	};

	struct State {
		affine item_aff;
		double pixels_per_unit;
		double canvas_scroll_x1;
		double canvas_scroll_y1;
		long   zoom_xofs, zoom_yofs;
		long   xoffset, yoffset;
	};

	interface Component : Bonobo::Unknown {

		/** 
		 * update:
		 * 
		 * Returns the update region.
		 */
		ArtUTA update  (in Canvas::State state,
				in affine aff, in SVP clip_path, in long flags,
				out double x1, out double y1, out double x2, out double y2);

		void realize (in Gdk::WindowId drawable);
		void unrealize ();
		void map ();
		void unmap ();

		void draw   (in Canvas::State state,
			     in Gdk::WindowId drawable, 
			     in short x, in short y, 
			     in short width, in short height);

		/**
		 * render:
		 * @buf: The render control buffer.
		 * 
		 * This version of render has buf->flags & IS_BUF == FALSE, 
		 * so we avoid sending the buffer out, we just return it.
		 *
		 */
		void render (inout Canvas::Buf buf);

		/**
		 * contains:
		 * @x: x coordinate 
		 * @y: y coordinate
		 *
		 * Returns true if the point at @x, @y is contained inside
		 * the item
		 */
		boolean contains (in double x, in double y);

		void bounds (in Canvas::State state, 
			     out double x1, out double x2, 
			     out double y1, out double y2);

		boolean event (in Canvas::State state, 
			       in Bonobo::Gdk::Event event);

		/**
		 * setCanvasSize:
		 *
		 * Notifies this item about the size of the Canvas size on the 
		 * canvas
		 */
		void setCanvasSize (in short x, in short y, in short width, in short height);

		/**
		 * setBounds:
		 * @bbox: the requested bounding box.
		 *
		 * Sets the bounding box of the item to (x1,y1)-(x2,y2)
		 */
		void setBounds (in DRect bbox);

		void unImplemented1 ();
		void unImplemented2 ();
		void unImplemented3 ();
		void unImplemented4 ();
		void unImplemented5 ();
		void unImplemented6 ();
		void unImplemented7 ();
		void unImplemented8 ();
	};

	/*
	 * This interface is used on the container side to forward
	 * events to the real containing canvas and the item
	 */
	
	interface ComponentProxy {
		/**
		 * requestUpdate:
		 *
		 * Requests an update of the client side canvas.
		 */
		void requestUpdate ();
		
		/**
		 * grabFocus:
		 * @mask: Gdk Event mask to grab.
		 * @cursor: GdkCursorType to display during grab.
		 * @time: time of last event before grab.
		 *
	 	 * Grabs the mouse focus.
		 */
		void grabFocus (in unsigned long mask,
				in long cursor,
				in unsigned long time);
		
		/**
		 * ungrabFocus:
		 * @time: time of last event before ungrab.
		 *
	 	 * Ungrabs the mouse focus.
		 */
		void ungrabFocus (in unsigned long time);
		
		/**
		 * getUIContainer:
		 *
	 	 * Returns: an associated UI component or NIL.
		 */
		UIContainer getUIContainer ();

		void unImplemented1 ();
		void unImplemented2 ();
		void unImplemented3 ();
		void unImplemented4 ();
		void unImplemented5 ();
		void unImplemented6 ();
		void unImplemented7 ();
		void unImplemented8 ();
	};
};

};

#endif /* BONOBO_CANVAS_IDL */