113
113
PinCellRenderer* pin_cell_renderer_construct (GType object_type);
114
114
static void pin_cell_renderer_real_get_size (GtkCellRenderer* base, GtkWidget* widget, GdkRectangle* cell_area, gint* x_offset, gint* y_offset, gint* width, gint* height);
115
115
static void pin_cell_renderer_real_render (GtkCellRenderer* base, GdkWindow* window, GtkWidget* widget, GdkRectangle* background_area, GdkRectangle* cell_area, GdkRectangle* expose_area, GtkCellRendererState flags);
116
static float pin_cell_renderer_get_lower_dimension (PinCellRenderer* self, float n1, float n2);
117
const char* pin_cell_renderer_get_color (PinCellRenderer* self);
118
void pin_cell_renderer_set_color (PinCellRenderer* self, const char* value);
116
static gfloat pin_cell_renderer_get_lower_dimension (PinCellRenderer* self, gfloat n1, gfloat n2);
117
const gchar* pin_cell_renderer_get_color (PinCellRenderer* self);
118
void pin_cell_renderer_set_color (PinCellRenderer* self, const gchar* value);
119
119
static void pin_cell_renderer_finalize (GObject* obj);
120
static void pin_cell_renderer_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
121
static void pin_cell_renderer_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
120
static void _vala_pin_cell_renderer_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
121
static void _vala_pin_cell_renderer_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
122
122
GType signal_strength_cell_renderer_get_type (void) G_GNUC_CONST;
123
123
#define SIGNAL_STRENGTH_CELL_RENDERER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SIGNAL_STRENGTH_CELL_RENDERER, SignalStrengthCellRendererPrivate))
135
135
static void signal_strength_cell_renderer_real_get_size (GtkCellRenderer* base, GtkWidget* widget, GdkRectangle* cell_area, gint* x_offset, gint* y_offset, gint* width, gint* height);
136
136
static void signal_strength_cell_renderer_real_render (GtkCellRenderer* base, GdkWindow* window, GtkWidget* widget, GdkRectangle* background_area, GdkRectangle* cell_area, GdkRectangle* expose_area, GtkCellRendererState flags);
137
137
static void signal_strength_cell_renderer_draw_rounded_rectangle (SignalStrengthCellRenderer* self, cairo_t* cr, gint x, gint y, gint w, gint h, GdkColor* fill, GdkColor* stroke);
138
double signal_strength_cell_renderer_get_strength (SignalStrengthCellRenderer* self);
138
gdouble signal_strength_cell_renderer_get_strength (SignalStrengthCellRenderer* self);
139
139
static void signal_strength_cell_renderer_layout_rounded_rectangle (SignalStrengthCellRenderer* self, cairo_t* cr, gint x, gint y, gint w, gint h);
140
void signal_strength_cell_renderer_set_strength (SignalStrengthCellRenderer* self, double value);
140
void signal_strength_cell_renderer_set_strength (SignalStrengthCellRenderer* self, gdouble value);
141
141
static void signal_strength_cell_renderer_finalize (GObject* obj);
142
static void signal_strength_cell_renderer_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
143
static void signal_strength_cell_renderer_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
142
static void _vala_signal_strength_cell_renderer_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
143
static void _vala_signal_strength_cell_renderer_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
147
146
PinCellRenderer* pin_cell_renderer_construct (GType object_type) {
148
PinCellRenderer * self;
147
PinCellRenderer * self = NULL;
149
148
self = (PinCellRenderer*) g_object_new (object_type, NULL);
159
158
static void pin_cell_renderer_real_get_size (GtkCellRenderer* base, GtkWidget* widget, GdkRectangle* cell_area, gint* x_offset, gint* y_offset, gint* width, gint* height) {
160
159
PinCellRenderer * self;
161
164
self = (PinCellRenderer*) base;
162
165
g_return_if_fail (widget != NULL);
163
if ((x_offset) != NULL) {
166
if ((y_offset) != NULL) {
169
if ((width) != NULL) {
170
*width = PIN_CELL_RENDERER_MIN_CELL_WIDTH;
172
if ((height) != NULL) {
173
*height = PIN_CELL_RENDERER_MIN_CELL_HEIGHT;
166
if ((&_x_offset) != NULL) {
169
if ((&_y_offset) != NULL) {
172
if ((&_width) != NULL) {
173
_width = PIN_CELL_RENDERER_MIN_CELL_WIDTH;
175
if ((&_height) != NULL) {
176
_height = PIN_CELL_RENDERER_MIN_CELL_HEIGHT;
179
*x_offset = _x_offset;
182
*y_offset = _y_offset;
178
193
static void pin_cell_renderer_real_render (GtkCellRenderer* base, GdkWindow* window, GtkWidget* widget, GdkRectangle* background_area, GdkRectangle* cell_area, GdkRectangle* expose_area, GtkCellRendererState flags) {
179
194
PinCellRenderer * self;
195
cairo_t* _tmp0_ = NULL;
185
float lower_dimension;
193
static GQuark _tmp9__label0 = 0;
194
static GQuark _tmp9__label1 = 0;
195
static GQuark _tmp9__label2 = 0;
196
static GQuark _tmp9__label3 = 0;
202
gfloat lower_dimension;
207
gchar* stroke_string;
212
static GQuark _tmp5__label0 = 0;
213
static GQuark _tmp5__label1 = 0;
214
static GQuark _tmp5__label2 = 0;
215
static GQuark _tmp5__label3 = 0;
197
216
GdkColor stroke = {0};
217
GdkColor _tmp22_ = {0};
198
218
GdkColor fill = {0};
219
GdkColor _tmp23_ = {0};
199
220
self = (PinCellRenderer*) base;
200
221
g_return_if_fail (window != NULL);
201
222
g_return_if_fail (widget != NULL);
202
cr = gdk_cairo_create ((GdkDrawable*) window);
223
_tmp0_ = gdk_cairo_create ((GdkDrawable*) window);
203
225
x = (*cell_area).x;
204
226
y = (*cell_area).y;
205
227
width = (*cell_area).width;
206
228
height = (*cell_area).height;
207
lower_dimension = pin_cell_renderer_get_lower_dimension (self, (float) width, (float) height);
229
_tmp1_ = pin_cell_renderer_get_lower_dimension (self, (gfloat) width, (gfloat) height);
230
lower_dimension = _tmp1_;
208
231
pin_radius = ((gint) lower_dimension) * PIN_CELL_RENDERER_PIN_RADIUS;
209
232
x_offset = (width - lower_dimension) / 2;
210
233
y_offset = (height - lower_dimension) / 2;
211
cairo_arc (cr, (x + x_offset) + pin_radius, (y + y_offset) + pin_radius, pin_radius / 2, (double) 0, 2 * G_PI);
212
stroke_string = g_strdup ("");
213
fill_string = g_strdup ("");
214
_tmp8_ = self->priv->_color;
215
_tmp9_ = (NULL == _tmp8_) ? 0 : g_quark_from_string (_tmp8_);
216
if (_tmp9_ == ((0 != _tmp9__label0) ? _tmp9__label0 : (_tmp9__label0 = g_quark_from_static_string ("red"))))
222
stroke_string = (_tmp0_ = g_strdup (PIN_CELL_RENDERER_RED_STROKE), _g_free0 (stroke_string), _tmp0_);
223
fill_string = (_tmp1_ = g_strdup (PIN_CELL_RENDERER_RED_FILL), _g_free0 (fill_string), _tmp1_);
226
} else if (_tmp9_ == ((0 != _tmp9__label1) ? _tmp9__label1 : (_tmp9__label1 = g_quark_from_static_string ("green"))))
232
stroke_string = (_tmp2_ = g_strdup (PIN_CELL_RENDERER_GREEN_STROKE), _g_free0 (stroke_string), _tmp2_);
233
fill_string = (_tmp3_ = g_strdup (PIN_CELL_RENDERER_GREEN_FILL), _g_free0 (fill_string), _tmp3_);
236
} else if (_tmp9_ == ((0 != _tmp9__label2) ? _tmp9__label2 : (_tmp9__label2 = g_quark_from_static_string ("yellow"))))
242
stroke_string = (_tmp4_ = g_strdup (PIN_CELL_RENDERER_YELLOW_STROKE), _g_free0 (stroke_string), _tmp4_);
243
fill_string = (_tmp5_ = g_strdup (PIN_CELL_RENDERER_YELLOW_FILL), _g_free0 (fill_string), _tmp5_);
246
} else if (_tmp9_ == ((0 != _tmp9__label3) ? _tmp9__label3 : (_tmp9__label3 = g_quark_from_static_string ("grey"))))
252
stroke_string = (_tmp6_ = g_strdup (PIN_CELL_RENDERER_GREY_STROKE), _g_free0 (stroke_string), _tmp6_);
253
fill_string = (_tmp7_ = g_strdup (PIN_CELL_RENDERER_GREY_FILL), _g_free0 (fill_string), _tmp7_);
234
cairo_arc (cr, (x + x_offset) + pin_radius, (y + y_offset) + pin_radius, pin_radius / 2, (gdouble) 0, 2 * G_PI);
235
_tmp2_ = g_strdup ("");
236
stroke_string = _tmp2_;
237
_tmp3_ = g_strdup ("");
238
fill_string = _tmp3_;
239
_tmp4_ = self->priv->_color;
240
_tmp5_ = (NULL == _tmp4_) ? 0 : g_quark_from_string (_tmp4_);
241
if (_tmp5_ == ((0 != _tmp5__label0) ? _tmp5__label0 : (_tmp5__label0 = g_quark_from_static_string ("red")))) {
249
_tmp6_ = g_strdup (PIN_CELL_RENDERER_RED_STROKE);
251
_g_free0 (stroke_string);
252
stroke_string = _tmp7_;
253
_tmp8_ = g_strdup (PIN_CELL_RENDERER_RED_FILL);
255
_g_free0 (fill_string);
256
fill_string = _tmp9_;
260
} else if (_tmp5_ == ((0 != _tmp5__label1) ? _tmp5__label1 : (_tmp5__label1 = g_quark_from_static_string ("green")))) {
268
_tmp10_ = g_strdup (PIN_CELL_RENDERER_GREEN_STROKE);
270
_g_free0 (stroke_string);
271
stroke_string = _tmp11_;
272
_tmp12_ = g_strdup (PIN_CELL_RENDERER_GREEN_FILL);
274
_g_free0 (fill_string);
275
fill_string = _tmp13_;
279
} else if (_tmp5_ == ((0 != _tmp5__label2) ? _tmp5__label2 : (_tmp5__label2 = g_quark_from_static_string ("yellow")))) {
287
_tmp14_ = g_strdup (PIN_CELL_RENDERER_YELLOW_STROKE);
289
_g_free0 (stroke_string);
290
stroke_string = _tmp15_;
291
_tmp16_ = g_strdup (PIN_CELL_RENDERER_YELLOW_FILL);
293
_g_free0 (fill_string);
294
fill_string = _tmp17_;
298
} else if (_tmp5_ == ((0 != _tmp5__label3) ? _tmp5__label3 : (_tmp5__label3 = g_quark_from_static_string ("grey")))) {
306
_tmp18_ = g_strdup (PIN_CELL_RENDERER_GREY_STROKE);
308
_g_free0 (stroke_string);
309
stroke_string = _tmp19_;
310
_tmp20_ = g_strdup (PIN_CELL_RENDERER_GREY_FILL);
312
_g_free0 (fill_string);
313
fill_string = _tmp21_;
257
318
memset (&stroke, 0, sizeof (GdkColor));
258
gdk_color_parse (stroke_string, &stroke);
319
gdk_color_parse (stroke_string, &_tmp22_);
259
321
memset (&fill, 0, sizeof (GdkColor));
260
gdk_color_parse (fill_string, &fill);
261
cairo_set_source_rgb (cr, ((double) stroke.red) / 65535.0, ((double) stroke.green) / 65535.0, ((double) stroke.blue) / 65535.0);
322
gdk_color_parse (fill_string, &_tmp23_);
324
cairo_set_source_rgb (cr, ((gdouble) stroke.red) / 65535.0, ((gdouble) stroke.green) / 65535.0, ((gdouble) stroke.blue) / 65535.0);
262
325
cairo_stroke_preserve (cr);
263
cairo_set_source_rgb (cr, ((double) fill.red) / 65535.0, ((double) fill.green) / 65535.0, ((double) fill.blue) / 65535.0);
326
cairo_set_source_rgb (cr, ((gdouble) fill.red) / 65535.0, ((gdouble) fill.green) / 65535.0, ((gdouble) fill.blue) / 65535.0);
265
328
_g_free0 (fill_string);
266
329
_g_free0 (stroke_string);
387
462
static void signal_strength_cell_renderer_real_get_size (GtkCellRenderer* base, GtkWidget* widget, GdkRectangle* cell_area, gint* x_offset, gint* y_offset, gint* width, gint* height) {
388
463
SignalStrengthCellRenderer * self;
389
468
self = (SignalStrengthCellRenderer*) base;
390
469
g_return_if_fail (widget != NULL);
391
if ((x_offset) != NULL) {
394
if ((y_offset) != NULL) {
397
if ((width) != NULL) {
398
*width = SIGNAL_STRENGTH_CELL_RENDERER_MIN_CELL_WIDTH;
400
if ((height) != NULL) {
401
*height = SIGNAL_STRENGTH_CELL_RENDERER_MIN_CELL_HEIGHT;
470
if ((&_x_offset) != NULL) {
473
if ((&_y_offset) != NULL) {
476
if ((&_width) != NULL) {
477
_width = SIGNAL_STRENGTH_CELL_RENDERER_MIN_CELL_WIDTH;
479
if ((&_height) != NULL) {
480
_height = SIGNAL_STRENGTH_CELL_RENDERER_MIN_CELL_HEIGHT;
483
*x_offset = _x_offset;
486
*y_offset = _y_offset;
406
497
static void signal_strength_cell_renderer_real_render (GtkCellRenderer* base, GdkWindow* window, GtkWidget* widget, GdkRectangle* background_area, GdkRectangle* cell_area, GdkRectangle* expose_area, GtkCellRendererState flags) {
407
498
SignalStrengthCellRenderer * self;
499
cairo_t* _tmp0_ = NULL;
432
529
x_offset = (gint) ((width - bar_width) / 2);
433
530
y_offset = (gint) ((height - bar_height) / 2);
434
531
state = self->priv->state_widget->state;
435
bg_fill = gtk_widget_get_style (self->priv->style_widget)->bg[state];
436
bg_stroke = gtk_widget_get_style (self->priv->style_widget)->dark[state];
437
fg_fill = gtk_widget_get_style (self->priv->style_widget)->mid[state];
438
fg_stroke = gtk_widget_get_style (self->priv->style_widget)->dark[state];
532
_tmp1_ = gtk_widget_get_style (self->priv->style_widget);
533
bg_fill = _tmp1_->bg[state];
534
_tmp2_ = gtk_widget_get_style (self->priv->style_widget);
535
bg_stroke = _tmp2_->dark[state];
536
_tmp3_ = gtk_widget_get_style (self->priv->style_widget);
537
fg_fill = _tmp3_->mid[state];
538
_tmp4_ = gtk_widget_get_style (self->priv->style_widget);
539
fg_stroke = _tmp4_->dark[state];
439
540
signal_strength_cell_renderer_draw_rounded_rectangle (self, cr, x + x_offset, y + y_offset, (x + x_offset) + bar_width, (y + y_offset) + bar_height, &bg_fill, &bg_stroke);
440
541
if (self->priv->_strength == 0) {
441
542
fprintf (stdout, "strength = 0\n\n");
462
563
g_return_if_fail (cr != NULL);
463
564
r = SIGNAL_STRENGTH_CELL_RENDERER_CORNER_RADIUS;
464
565
cairo_new_sub_path (cr);
465
cairo_arc (cr, (double) (r + x), (double) (r + y), (double) r, PI, 270 * PI_OVER_180);
466
cairo_arc (cr, (double) (w - r), (double) (r + y), (double) r, 270 * PI_OVER_180, (double) 0);
467
cairo_arc (cr, (double) (w - r), (double) (h - r), (double) r, (double) 0, 90 * PI_OVER_180);
468
cairo_arc (cr, (double) (r + x), (double) (h - r), (double) r, 90 * PI_OVER_180, PI);
566
cairo_arc (cr, (gdouble) (r + x), (gdouble) (r + y), (gdouble) r, PI, 270 * PI_OVER_180);
567
cairo_arc (cr, (gdouble) (w - r), (gdouble) (r + y), (gdouble) r, 270 * PI_OVER_180, (gdouble) 0);
568
cairo_arc (cr, (gdouble) (w - r), (gdouble) (h - r), (gdouble) r, (gdouble) 0, 90 * PI_OVER_180);
569
cairo_arc (cr, (gdouble) (r + x), (gdouble) (h - r), (gdouble) r, 90 * PI_OVER_180, PI);
469
570
cairo_close_path (cr);
473
double signal_strength_cell_renderer_get_strength (SignalStrengthCellRenderer* self) {
574
gdouble signal_strength_cell_renderer_get_strength (SignalStrengthCellRenderer* self) {
475
576
g_return_val_if_fail (self != NULL, 0.0);
476
577
result = self->priv->_strength;
481
void signal_strength_cell_renderer_set_strength (SignalStrengthCellRenderer* self, double value) {
582
void signal_strength_cell_renderer_set_strength (SignalStrengthCellRenderer* self, gdouble value) {
482
583
g_return_if_fail (self != NULL);
483
584
self->priv->_strength = value;
484
585
g_object_notify ((GObject *) self, "strength");