[gnome-flashback] Revert "input-sources: add gf_input_source_generate_svg"
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-flashback] Revert "input-sources: add gf_input_source_generate_svg"
- Date: Wed, 23 Nov 2016 12:04:44 +0000 (UTC)
commit 3ca1700d7bbe18a4a813338f2ede489dd2851a1a
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Wed Nov 23 09:54:09 2016 +0200
Revert "input-sources: add gf_input_source_generate_svg"
This reverts commit 34416e64e42bdd1ff0a87eb8f79a4f66d47e8861.
...gnome.gnome-flashback.input-sources.gschema.xml | 5 -
gnome-flashback/libinput-sources/gf-input-source.c | 204 --------------------
gnome-flashback/libinput-sources/gf-input-source.h | 12 --
3 files changed, 0 insertions(+), 221 deletions(-)
---
diff --git a/data/schemas/org.gnome.gnome-flashback.input-sources.gschema.xml
b/data/schemas/org.gnome.gnome-flashback.input-sources.gschema.xml
index 948c883..37faaeb 100644
--- a/data/schemas/org.gnome.gnome-flashback.input-sources.gschema.xml
+++ b/data/schemas/org.gnome.gnome-flashback.input-sources.gschema.xml
@@ -17,10 +17,5 @@
<default>'Cantarell'</default>
<summary>Font family</summary>
</key>
-
- <key name="symbolic" type="b">
- <default>false</default>
- <summary>Symbolic</summary>
- </key>
</schema>
</schemalist>
diff --git a/gnome-flashback/libinput-sources/gf-input-source.c
b/gnome-flashback/libinput-sources/gf-input-source.c
index 07db48b..8ed404d 100644
--- a/gnome-flashback/libinput-sources/gf-input-source.c
+++ b/gnome-flashback/libinput-sources/gf-input-source.c
@@ -1,6 +1,5 @@
/*
* Copyright (C) 2015 Sebastian Geiger
- * Copyright (C) 2016 Alberts Muktupāvels
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -18,10 +17,6 @@
#include "config.h"
-#include <cairo.h>
-#include <gdk/gdk.h>
-#include <locale.h>
-#include <pango/pango.h>
#include <string.h>
#include "gf-ibus-manager.h"
@@ -73,160 +68,6 @@ static GParamSpec *properties[LAST_PROP] = { NULL };
G_DEFINE_TYPE (GfInputSource, gf_input_source, G_TYPE_OBJECT)
-static PangoLayout *
-get_pango_layout (const gchar *text,
- const gchar *font_family,
- gint font_size)
-{
- GdkScreen *screen;
- PangoContext *context;
- PangoFontDescription *font_desc;
- PangoLayout *layout;
-
- screen = gdk_screen_get_default ();
- context = gdk_pango_context_get_for_screen (screen);
- font_desc = pango_font_description_new ();
-
- pango_font_description_set_family (font_desc, font_family);
- pango_font_description_set_size (font_desc, font_size * PANGO_SCALE);
- pango_font_description_set_weight (font_desc, PANGO_WEIGHT_NORMAL);
- pango_font_description_set_stretch (font_desc, PANGO_STRETCH_NORMAL);
- pango_font_description_set_style (font_desc, PANGO_STYLE_NORMAL);
- pango_font_description_set_variant (font_desc, PANGO_VARIANT_NORMAL);
-
- layout = pango_layout_new (context);
- g_object_unref (context);
-
- pango_layout_set_text (layout, text, -1);
- pango_layout_set_font_description (layout, font_desc);
- pango_font_description_free (font_desc);
-
- return layout;
-}
-
-static cairo_path_t *
-get_cairo_path (const gchar *text,
- const gchar *font_family,
- gint font_size,
- cairo_matrix_t *matrix)
-{
- PangoLayout *layout;
- cairo_surface_t *surface;
- cairo_t *cr;
- gint width;
- gint height;
- gdouble scale;
- cairo_path_t *path;
-
- layout = get_pango_layout (text, font_family, font_size);
- surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 16, 16);
- cr = cairo_create (surface);
-
- pango_layout_get_pixel_size (layout, &width, &height);
-
- scale = MIN (1.0, 14.0 / width);
- cairo_move_to (cr, (16 - width * scale) / 2.0, (16 - height * scale) / 2.0);
- cairo_scale (cr, scale, scale);
-
- pango_cairo_layout_path (cr, layout);
- path = cairo_copy_path (cr);
- cairo_get_matrix (cr, matrix);
-
- cairo_destroy (cr);
- cairo_surface_destroy (surface);
- g_object_unref (layout);
-
- return path;
-}
-
-static GString *
-cairo_path_to_string (cairo_path_t *path,
- cairo_matrix_t *matrix)
-{
- gchar *locale;
- GString *string;
- gint i;
-
- locale = g_strdup (setlocale (LC_NUMERIC, NULL));
- setlocale (LC_NUMERIC, "C");
-
- string = g_string_new (NULL);
- for (i = 0; i < path->num_data; i += path->data[i].header.length)
- {
- cairo_path_data_t *data;
- gdouble x1, y1;
- gdouble x2, y2;
- gdouble x3, y3;
-
- data = &path->data[i];
-
- switch (data->header.type)
- {
- case CAIRO_PATH_MOVE_TO:
- x1 = data[1].point.x;
- y1 = data[1].point.y;
-
- cairo_matrix_transform_point (matrix, &x1, &y1);
-
- g_string_append_printf (string, "M %f,%f ", x1, y1);
- break;
-
- case CAIRO_PATH_LINE_TO:
- x1 = data[1].point.x;
- y1 = data[1].point.y;
-
- cairo_matrix_transform_point (matrix, &x1, &y1);
-
- g_string_append_printf (string, "L %f,%f ", x1, y1);
- break;
-
- case CAIRO_PATH_CURVE_TO:
- x1 = data[1].point.x;
- y1 = data[1].point.y;
- x2 = data[2].point.x;
- y2 = data[2].point.y;
- x3 = data[3].point.x;
- y3 = data[3].point.y;
-
- cairo_matrix_transform_point (matrix, &x1, &y1);
- cairo_matrix_transform_point (matrix, &x2, &y2);
- cairo_matrix_transform_point (matrix, &x3, &y3);
-
- g_string_append_printf (string, "C %f,%f %f,%f %f,%f ",
- x1, y1, x2, y2, x3, y3);
- break;
-
- case CAIRO_PATH_CLOSE_PATH:
- g_string_append (string, "Z ");
- break;
-
- default:
- break;
- }
- }
-
- setlocale (LC_NUMERIC, locale);
- g_free (locale);
-
- return string;
-}
-
-static gchar *
-generate_path_description (const gchar *text,
- const gchar *font_family,
- gint font_size)
-{
- cairo_path_t *path;
- cairo_matrix_t matrix;
- GString *string;
-
- path = get_cairo_path (text, font_family, font_size, &matrix);
- string = cairo_path_to_string (path, &matrix);
- cairo_path_destroy (path);
-
- return g_string_free (string, FALSE);
-}
-
static gchar *
get_xkb_id (GfInputSource *source)
{
@@ -527,48 +368,3 @@ gf_input_source_set_properties (GfInputSource *source,
if (prop_list != NULL)
source->prop_list = g_object_ref (prop_list);
}
-
-GString *
-gf_input_source_generate_svg (GfInputSource *source,
- const gchar *font_family,
- gint font_size,
- const gchar *bg_color,
- const gchar *fg_color,
- gboolean symbolic)
-{
- const gchar *short_name;
- gchar *path_d;
- GString *svg;
-
- short_name = gf_input_source_get_short_name (source);
- path_d = generate_path_description (short_name, font_family, font_size);
- svg = g_string_new ("<?xml version='1.0' encoding='utf-8' standalone='no'?>");
-
- g_string_append (svg,
- "<svg xmlns='http://www.w3.org/2000/svg' "
- "width='16' height='16' viewBox='0 0 16 16'>");
-
- if (symbolic)
- {
- g_string_append (svg, "<defs><mask id='m'>");
- g_string_append (svg, "<rect width='16' height='16' style='fill:#ffffff'/>");
- g_string_append_printf (svg, "<path d='%s' style='fill:#000000'/>", path_d);
- g_string_append (svg, "</mask></defs>");
- }
-
- g_string_append_printf (svg,
- "<rect x='0' y='0' width='16' height='16' "
- "rx='2.0' ry='2.0' mask='%s' style='fill:%s;'/>",
- symbolic ? "url(#m)" : "none",
- symbolic ? "#bebebe" : bg_color);
-
- if (!symbolic)
- {
- g_string_append_printf (svg, "<path d='%s' style='fill:%s'/>",
- path_d, fg_color);
- }
-
- g_free (path_d);
-
- return g_string_append (svg, "</svg>");
-}
diff --git a/gnome-flashback/libinput-sources/gf-input-source.h
b/gnome-flashback/libinput-sources/gf-input-source.h
index ef629be..6388d11 100644
--- a/gnome-flashback/libinput-sources/gf-input-source.h
+++ b/gnome-flashback/libinput-sources/gf-input-source.h
@@ -1,6 +1,5 @@
/*
* Copyright (C) 2015 Sebastian Geiger
- * Copyright (C) 2016 Alberts Muktupāvels
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -24,8 +23,6 @@
#include "gf-ibus-manager.h"
-G_BEGIN_DECLS
-
#define GF_TYPE_INPUT_SOURCE gf_input_source_get_type ()
G_DECLARE_FINAL_TYPE (GfInputSource, gf_input_source,
GF, INPUT_SOURCE, GObject)
@@ -60,13 +57,4 @@ IBusPropList *gf_input_source_get_properties (GfInputSource *source);
void gf_input_source_set_properties (GfInputSource *source,
IBusPropList *prop_list);
-GString *gf_input_source_generate_svg (GfInputSource *source,
- const gchar *font_family,
- gint font_size,
- const gchar *bg_color,
- const gchar *fg_color,
- gboolean symbolic);
-
-G_END_DECLS
-
#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]