[Commits] [SCM] claws branch, gtk2, updated. 3.19.1-82-g70781f670

jonathan at claws-mail.org jonathan at claws-mail.org
Sun Oct 22 11:52:42 UTC 2023


The branch, gtk2 has been updated
       via  70781f6704d2d5bb68a621d86fce04e10371a702 (commit)
      from  77ec254585231c91e7ab2fc3ce3766c163b131c4 (commit)

Summary of changes:
 src/plugins/litehtml_viewer/Makefile.am        |   1 -
 src/plugins/litehtml_viewer/lh_widget.h        |   4 -
 src/plugins/litehtml_viewer/lh_widget_text.cpp | 148 -------------------------
 3 files changed, 153 deletions(-)
 delete mode 100644 src/plugins/litehtml_viewer/lh_widget_text.cpp


- Log -----------------------------------------------------------------
commit 70781f6704d2d5bb68a621d86fce04e10371a702
Author: Jonathan Boeing <jonathan at claws-mail.org>
Date:   Mon Oct 9 01:24:56 2023 -0700

    Use upstream font functions

diff --git a/src/plugins/litehtml_viewer/Makefile.am b/src/plugins/litehtml_viewer/Makefile.am
index ecc3fa812..8905fa6cf 100644
--- a/src/plugins/litehtml_viewer/Makefile.am
+++ b/src/plugins/litehtml_viewer/Makefile.am
@@ -69,7 +69,6 @@ litehtml_viewer_la_SOURCES = \
 	lh_viewer.h \
 	lh_widget.cpp \
 	lh_widget.h \
-	lh_widget_text.cpp \
 	lh_widget_wrapped.h \
 	plugin.c
 
diff --git a/src/plugins/litehtml_viewer/lh_widget.h b/src/plugins/litehtml_viewer/lh_widget.h
index 702118b45..f1bda9d77 100644
--- a/src/plugins/litehtml_viewer/lh_widget.h
+++ b/src/plugins/litehtml_viewer/lh_widget.h
@@ -49,10 +49,6 @@ class lh_widget : public container_linux
 		inline const char *get_default_font_name() const { return m_font_name; };
 
 		inline int get_default_font_size() const { return m_font_size; };
-		litehtml::uint_ptr create_font(const char *faceName, int size, int weight, litehtml::font_style italic, unsigned int decoration, litehtml::font_metrics* fm);
-		void delete_font(litehtml::uint_ptr hFont);
-		int text_width(const char *text, litehtml::uint_ptr hFont);
-		void draw_text(litehtml::uint_ptr hdc, const char *text, litehtml::uint_ptr hFont, litehtml::web_color color, const litehtml::position& pos);
 
 		void draw(cairo_t *cr);
 		void rerender();
diff --git a/src/plugins/litehtml_viewer/lh_widget_text.cpp b/src/plugins/litehtml_viewer/lh_widget_text.cpp
deleted file mode 100644
index c8f9c5998..000000000
--- a/src/plugins/litehtml_viewer/lh_widget_text.cpp
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Claws Mail -- A GTK+ based, lightweight, and fast e-mail client
- * Copyright(C) 2019 the Claws Mail Team
- *
- * litehtml callbacks related to text rendering
- *
- * 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
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write tothe Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#include "config.h"
-
-#include <glib.h>
-
-#include "litehtml/litehtml.h"
-
-#include "lh_widget.h"
-
-litehtml::uint_ptr lh_widget::create_font( const char *faceName, int size, int weight, litehtml::font_style italic, unsigned int decoration, litehtml::font_metrics* fm )
-{
-	PangoFontDescription *desc =
-		pango_font_description_from_string(faceName);
-
-	pango_font_description_set_size(desc, size * PANGO_SCALE);
-	pango_font_description_set_weight(desc, (PangoWeight)weight);
-
-	if (italic == litehtml::fontStyleItalic)
-		pango_font_description_set_style(desc, PANGO_STYLE_ITALIC);
-	else
-		pango_font_description_set_style(desc, PANGO_STYLE_NORMAL);
-
-	if(fm != NULL) {
-		PangoContext *context = gtk_widget_get_pango_context(m_drawing_area);
-		PangoFontMetrics *metrics = pango_context_get_metrics(
-				context, desc,
-				pango_context_get_language(context));
-		PangoLayout *x_layout;
-		PangoRectangle rect;
-
-		x_layout = pango_layout_new(context);
-		pango_layout_set_font_description(x_layout, desc);
-		pango_layout_set_text(x_layout, "x", -1);
-		pango_layout_get_pixel_extents(x_layout, NULL, &rect);
-
-		fm->ascent		= pango_font_metrics_get_ascent(metrics) / PANGO_SCALE;
-		fm->descent		= pango_font_metrics_get_descent(metrics) / PANGO_SCALE;
-		fm->height		= fm->ascent + fm->descent;
-		fm->x_height	= rect.height;
-
-		g_object_unref(x_layout);
-		pango_font_metrics_unref(metrics);
-	}
-
-	pango_font *ret = new pango_font;
-	ret->font = desc;
-	ret->strikethrough = (decoration & litehtml::font_decoration_linethrough) ? true : false;
-	ret->underline = (decoration & litehtml::font_decoration_underline) ? true : false;
-
-	return (litehtml::uint_ptr) ret;
-}
-
-void lh_widget::delete_font( litehtml::uint_ptr hFont )
-{
-	pango_font *fnt = (pango_font *)hFont;
-
-	if (fnt != NULL) {
-		pango_font_description_free(fnt->font);
-		delete fnt;
-	}
-}
-
-int lh_widget::text_width( const char *text, litehtml::uint_ptr hFont )
-{
-	pango_font *fnt = (pango_font *) hFont;
-	PangoContext *context = gtk_widget_get_pango_context(m_drawing_area);
-	PangoLayout *layout = pango_layout_new(context);
-	PangoRectangle rect;
-
-	if (fnt)
-		pango_layout_set_font_description(layout, fnt->font);
-
-	pango_layout_set_text(layout, text, -1);
-	pango_layout_get_pixel_extents(layout, NULL, &rect);
-
-	g_object_unref(layout);
-
-	return rect.width;
-}
-
-void lh_widget::draw_text( litehtml::uint_ptr hdc, const char *text, litehtml::uint_ptr hFont, litehtml::web_color color, const litehtml::position& pos )
-{
-	pango_font *fnt = (pango_font *)hFont;
-	cairo_t *cr = (cairo_t *)hdc;
-	PangoLayout *layout = pango_cairo_create_layout(cr);
-	PangoContext *context = pango_layout_get_context(layout);
-	GdkScreen* screen = gdk_screen_get_default();
-	double dpi = gdk_screen_get_resolution(screen);
-
-	pango_cairo_context_set_resolution(context, dpi);
-
-	if (fnt != NULL) {
-		/* Set font */
-		pango_layout_set_font_description(layout, fnt->font);
-
-		/* Set additional font attributes */
-		if (fnt->underline || fnt->strikethrough) {
-			PangoAttrList *attr_list = pango_attr_list_new();
-			PangoUnderline ul;
-
-			if (fnt->underline )
-				ul = PANGO_UNDERLINE_SINGLE;
-			else
-				ul = PANGO_UNDERLINE_NONE;
-
-			pango_attr_list_insert(attr_list,
-					pango_attr_underline_new(ul));
-			pango_attr_list_insert(attr_list,
-					pango_attr_strikethrough_new(fnt->strikethrough));
-
-			pango_layout_set_attributes(layout, attr_list);
-			pango_attr_list_unref(attr_list);
-		}
-	}
-
-	/* Set actual text content */
-	pango_layout_set_text(layout, text, -1);
-
-	cairo_save(cr);
-
-	/* Draw the text where it's supposed to be */
-	apply_clip(cr);
-	set_color(cr, color);
-	cairo_move_to(cr, pos.left(), pos.top());
-	pango_cairo_show_layout(cr, layout);
-
-	/* Cleanup */
-	g_object_unref(layout);
-	cairo_restore(cr);
-}

-----------------------------------------------------------------------


hooks/post-receive
-- 
Claws Mail


More information about the Commits mailing list