mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-10 07:00:53 +00:00
cpu-visualizer-row: choose color for row
For each CPU counter we come across, choose a new color from the cycle.
This commit is contained in:
@ -20,11 +20,13 @@
|
|||||||
|
|
||||||
#include "sp-capture-condition.h"
|
#include "sp-capture-condition.h"
|
||||||
#include "sp-capture-cursor.h"
|
#include "sp-capture-cursor.h"
|
||||||
|
#include "sp-color-cycle.h"
|
||||||
#include "sp-cpu-visualizer-row.h"
|
#include "sp-cpu-visualizer-row.h"
|
||||||
|
|
||||||
struct _SpCpuVisualizerRow
|
struct _SpCpuVisualizerRow
|
||||||
{
|
{
|
||||||
SpLineVisualizerRow parent_instance;
|
SpLineVisualizerRow parent_instance;
|
||||||
|
SpColorCycle *colors;
|
||||||
};
|
};
|
||||||
|
|
||||||
G_DEFINE_TYPE (SpCpuVisualizerRow, sp_cpu_visualizer_row, SP_TYPE_LINE_VISUALIZER_ROW)
|
G_DEFINE_TYPE (SpCpuVisualizerRow, sp_cpu_visualizer_row, SP_TYPE_LINE_VISUALIZER_ROW)
|
||||||
@ -98,8 +100,10 @@ complete_counters (GObject *object,
|
|||||||
for (guint i = 0; i < counters->len; i++)
|
for (guint i = 0; i < counters->len; i++)
|
||||||
{
|
{
|
||||||
guint counter_id = g_array_index (counters, guint, i);
|
guint counter_id = g_array_index (counters, guint, i);
|
||||||
|
GdkRGBA color;
|
||||||
|
|
||||||
sp_line_visualizer_row_add_counter (SP_LINE_VISUALIZER_ROW (self), counter_id);
|
sp_color_cycle_next (self->colors, &color);
|
||||||
|
sp_line_visualizer_row_add_counter (SP_LINE_VISUALIZER_ROW (self), counter_id, &color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -130,17 +134,31 @@ sp_cpu_visualizer_row_set_reader (SpVisualizerRow *row,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
sp_cpu_visualizer_row_finalize (GObject *object)
|
||||||
|
{
|
||||||
|
SpCpuVisualizerRow *self = (SpCpuVisualizerRow *)object;
|
||||||
|
|
||||||
|
g_clear_pointer (&self->colors, sp_color_cycle_unref);
|
||||||
|
|
||||||
|
G_OBJECT_CLASS (sp_cpu_visualizer_row_parent_class)->finalize (object);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
sp_cpu_visualizer_row_class_init (SpCpuVisualizerRowClass *klass)
|
sp_cpu_visualizer_row_class_init (SpCpuVisualizerRowClass *klass)
|
||||||
{
|
{
|
||||||
|
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||||
SpVisualizerRowClass *row_class = SP_VISUALIZER_ROW_CLASS (klass);
|
SpVisualizerRowClass *row_class = SP_VISUALIZER_ROW_CLASS (klass);
|
||||||
|
|
||||||
|
object_class->finalize = sp_cpu_visualizer_row_finalize;
|
||||||
|
|
||||||
row_class->set_reader = sp_cpu_visualizer_row_set_reader;
|
row_class->set_reader = sp_cpu_visualizer_row_set_reader;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
sp_cpu_visualizer_row_init (SpCpuVisualizerRow *self)
|
sp_cpu_visualizer_row_init (SpCpuVisualizerRow *self)
|
||||||
{
|
{
|
||||||
|
self->colors = sp_color_cycle_new ();
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkWidget *
|
GtkWidget *
|
||||||
|
|||||||
Reference in New Issue
Block a user