[gnome-builder/wip/chergert/hover] omnigutter: add mixed color for countpoint
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/chergert/hover] omnigutter: add mixed color for countpoint
- Date: Tue, 3 Jul 2018 04:03:10 +0000 (UTC)
commit 47e42026b4a19167db0d9622d8abf5705952f155
Author: Christian Hergert <chergert redhat com>
Date: Mon Jul 2 21:02:48 2018 -0700
omnigutter: add mixed color for countpoint
This allows us to look slightly different when doing countpoints from
regular breakpoints.
src/libide/sourceview/ide-omni-gutter-renderer.c | 44 ++++++++++++++++--------
1 file changed, 29 insertions(+), 15 deletions(-)
---
diff --git a/src/libide/sourceview/ide-omni-gutter-renderer.c
b/src/libide/sourceview/ide-omni-gutter-renderer.c
index 9ee9f62d5..f877690a5 100644
--- a/src/libide/sourceview/ide-omni-gutter-renderer.c
+++ b/src/libide/sourceview/ide-omni-gutter-renderer.c
@@ -105,7 +105,7 @@ struct _IdeOmniGutterRenderer
GdkRGBA fg;
GdkRGBA bg;
gboolean bold;
- } text, current, bkpt;
+ } text, current, bkpt, ctpt;
GdkRGBA stopped_bg;
struct {
GdkRGBA add;
@@ -361,6 +361,18 @@ reload_style_colors (IdeOmniGutterRenderer *self,
if (!style_get_is_bold (scheme, "current-line-number", &self->current.bold))
self->current.bold = TRUE;
+ /* These gutter:: prefix values come from Builder's style-scheme xml
+ * files, but other style schemes may also support them now too.
+ */
+ if (!get_style_rgba (scheme, "gutter::added-line", FOREGROUND, &self->changes.add))
+ gdk_rgba_parse (&self->changes.add, "#8ae234");
+
+ if (!get_style_rgba (scheme, "gutter::changed-line", FOREGROUND, &self->changes.change))
+ gdk_rgba_parse (&self->changes.change, "#fcaf3e");
+
+ if (!get_style_rgba (scheme, "gutter::removed-line", FOREGROUND, &self->changes.remove))
+ gdk_rgba_parse (&self->changes.remove, "#ef2929");
+
/*
* These debugger:: prefix values come from Builder's style-scheme xml
* as well as in the IdeBuffer class. Other style schemes may also
@@ -371,24 +383,23 @@ reload_style_colors (IdeOmniGutterRenderer *self,
if (!get_style_rgba (scheme, "debugger::breakpoint", FOREGROUND, &self->bkpt.fg))
get_style_rgba (scheme, "selection", FOREGROUND, &self->bkpt.fg);
-
if (!get_style_rgba (scheme, "debugger::breakpoint", BACKGROUND, &self->bkpt.bg))
get_style_rgba (scheme, "selection", BACKGROUND, &self->bkpt.bg);
-
if (!style_get_is_bold (scheme, "debugger::breakpoint", &self->bkpt.bold))
self->bkpt.bold = FALSE;
- /* These gutter:: prefix values come from Builder's style-scheme xml
- * files, but other style schemes may also support them now too.
- */
- if (!get_style_rgba (scheme, "gutter::added-line", FOREGROUND, &self->changes.add))
- gdk_rgba_parse (&self->changes.add, "#8ae234");
-
- if (!get_style_rgba (scheme, "gutter::changed-line", FOREGROUND, &self->changes.change))
- gdk_rgba_parse (&self->changes.change, "#fcaf3e");
-
- if (!get_style_rgba (scheme, "gutter::removed-line", FOREGROUND, &self->changes.remove))
- gdk_rgba_parse (&self->changes.remove, "#ef2929");
+ /* Slight different color for countpoint, fallback to mix(selection,diff:add) */
+ if (!get_style_rgba (scheme, "debugger::countpoint", FOREGROUND, &self->ctpt.fg))
+ get_style_rgba (scheme, "selection", FOREGROUND, &self->ctpt.fg);
+ if (!get_style_rgba (scheme, "debugger::countpoint", BACKGROUND, &self->ctpt.bg))
+ {
+ get_style_rgba (scheme, "selection", BACKGROUND, &self->ctpt.bg);
+ self->ctpt.bg.red = (self->ctpt.bg.red + self->changes.add.red) / 2.0;
+ self->ctpt.bg.green = (self->ctpt.bg.green + self->changes.add.green) / 2.0;
+ self->ctpt.bg.blue = (self->ctpt.bg.blue + self->changes.add.blue) / 2.0;
+ }
+ if (!style_get_is_bold (scheme, "debugger::countpoint", &self->ctpt.bold))
+ self->ctpt.bold = FALSE;
}
static void
@@ -886,7 +897,10 @@ draw_breakpoint_bg (IdeOmniGutterRenderer *self,
cairo_line_to (cr, area.x, dzl_cairo_rectangle_y2 (&area));
cairo_close_path (cr);
- rgba = self->bkpt.bg;
+ if (info->is_countpoint)
+ rgba = self->ctpt.bg;
+ else
+ rgba = self->bkpt.bg;
/*
* Tweak the brightness based on if we are in pre-light and
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]