[arch-commits] Commit in gtkglext/trunk (PKGBUILD kill-pangox.patch)

Jan de Groot jgc at archlinux.org
Tue Apr 28 14:30:33 UTC 2020


    Date: Tuesday, April 28, 2020 @ 14:30:32
  Author: jgc
Revision: 381789

upgpkg: gtkglext 1.2.0-12: Drop pangox-compat usage by killing gdkglfont API

Added:
  gtkglext/trunk/kill-pangox.patch
Modified:
  gtkglext/trunk/PKGBUILD

-------------------+
 PKGBUILD          |   15 
 kill-pangox.patch |  811 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 820 insertions(+), 6 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-04-28 13:37:37 UTC (rev 381788)
+++ PKGBUILD	2020-04-28 14:30:32 UTC (rev 381789)
@@ -3,22 +3,24 @@
 
 pkgname=gtkglext
 pkgver=1.2.0
-pkgrel=11
+pkgrel=12
 pkgdesc="opengl extensions for gtk2"
 arch=('x86_64')
 url="http://gtkglext.sourceforge.net/"
 license=('LGPL')
-depends=('gtk2' 'glu' 'libxmu' 'pangox-compat')
+depends=('gtk2' 'glu' 'libxmu')
 makedepends=('python')
 source=("https://downloads.sourceforge.net/sourceforge/gtkglext/${pkgname}-${pkgver}.tar.bz2"
-	'gtk2.20.patch' gtkglext-gcc8.patch)
-md5sums=('ed7ba24ce06a8630c07f2d0ee5f04ab4'
-         'e5a87ec3f2d0e616c6f32f90c3f7237f'
-         '9f116d557167dabf4fcbe765f5c784b2')
+	'gtk2.20.patch' gtkglext-gcc8.patch kill-pangox.patch)
+sha256sums=('16bd736074f6b14180f206b7e91263fc721b49912ea3258ab5f094cfa5497f51'
+            '864c6963c4a2f4f69f1f028ecee6c821a4f4d5aba142f2e07898aede825ce9ea'
+            '0ec0c22b15054b0684f9a9015ff05920af0c00dae5409e76321f683dcc17cff9'
+            '8ce31aa17ea84aede3b03fa392ec95e0e9c001f348384ba93d850de9f0b7044e')
 
 prepare() {
   cd $pkgname-$pkgver
 
+  patch -Np1 -i "${srcdir}/kill-pangox.patch"
   patch -Np1 -i "${srcdir}/gtk2.20.patch"
   sed '/AC_PATH_XTRA/d' -i configure.in  
   patch -p1 -i ../gtkglext-gcc8.patch # Fix build with GCC 8
@@ -31,6 +33,7 @@
 
   ./configure --prefix=/usr \
               --disable-static
+  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
   make
 }
 

Added: kill-pangox.patch
===================================================================
--- kill-pangox.patch	                        (rev 0)
+++ kill-pangox.patch	2020-04-28 14:30:32 UTC (rev 381789)
@@ -0,0 +1,811 @@
+diff -ruN gtkglext-1.2.0.orig/configure.in gtkglext-1.2.0/configure.in
+--- gtkglext-1.2.0.orig/configure.in	2006-02-05 03:17:19.000000000 +0000
++++ gtkglext-1.2.0/configure.in	2020-04-28 12:35:21.905828768 +0000
+@@ -59,10 +59,6 @@
+ m4_define([pango_pkg], [pango])
+ m4_define([pango_required_version], [1.0.0])
+ 
+-# Pangox
+-m4_define([pangox_pkg], [pangox])
+-m4_define([pangox_required_version], [1.0.0])
+-
+ # PangoFT2
+ m4_define([pangoft2_pkg], [pangoft2])
+ m4_define([pangoft2_required_version], [1.0.0])
+@@ -349,7 +345,6 @@
+ gtk_pkg >= gtk_required_version \
+ gdk_pkg >= gdk_required_version \
+ pango_pkg >= pango_required_version \
+-pangox_pkg >= pangox_required_version \
+ gmodule_pkg >= gmodule_required_version \
+ ])
+ 
+@@ -794,7 +789,7 @@
+ # CFLAGS and LIBS
+ ##################################################
+ 
+-GDKGLEXT_PACKAGES="gdk_pkg pango_pkg pangox_pkg gmodule_pkg"
++GDKGLEXT_PACKAGES="gdk_pkg pango_pkg gmodule_pkg"
+ GDKGLEXT_EXTRA_CFLAGS="$GL_CFLAGS $GDKGLEXT_WIN_CFLAGS"
+ GDKGLEXT_EXTRA_LIBS="$GL_LIBS $GDKGLEXT_WIN_LIBS"
+ GDKGLEXT_DEP_CFLAGS="$GDKGLEXT_EXTRA_CFLAGS `$PKG_CONFIG --cflags $GDKGLEXT_PACKAGES`"
+diff -ruN gtkglext-1.2.0.orig/examples/font.c gtkglext-1.2.0/examples/font.c
+--- gtkglext-1.2.0.orig/examples/font.c	2003-11-06 18:04:46.000000000 +0000
++++ gtkglext-1.2.0/examples/font.c	1970-01-01 00:00:00.000000000 +0000
+@@ -1,349 +0,0 @@
+-/*
+- * font.c:
+- * Simple bitmap font rendering example.
+- *
+- * written by Naofumi Yasufuku  <naofumi at users.sourceforge.net>
+- */
+-
+-#include <stdlib.h>
+-#include <string.h>
+-
+-#include <gtk/gtk.h>
+-
+-#include <gtk/gtkgl.h>
+-
+-#ifdef G_OS_WIN32
+-#define WIN32_LEAN_AND_MEAN 1
+-#include <windows.h>
+-#endif
+-
+-#include <GL/gl.h>
+-#include <GL/glu.h>
+-
+-static gchar font_string[] = "courier 12";
+-static GLuint font_list_base;
+-static gint font_height;
+-
+-static void
+-realize (GtkWidget *widget,
+-         gpointer   data)
+-{
+-  GdkGLContext *glcontext = gtk_widget_get_gl_context (widget);
+-  GdkGLDrawable *gldrawable = gtk_widget_get_gl_drawable (widget);
+-
+-  PangoFontDescription *font_desc;
+-  PangoFont *font;
+-  PangoFontMetrics *font_metrics;
+-
+-  /*** OpenGL BEGIN ***/
+-  if (!gdk_gl_drawable_gl_begin (gldrawable, glcontext))
+-    return;
+-
+-  /*
+-   * Generate font display lists.
+-   */
+-  font_list_base = glGenLists (128);
+-
+-  font_desc = pango_font_description_from_string (font_string);
+-
+-  font = gdk_gl_font_use_pango_font (font_desc, 0, 128, font_list_base);
+-  if (font == NULL)
+-    {
+-      g_print ("*** Can't load font '%s'\n", font_string);
+-      exit (1);
+-    }
+-
+-  font_metrics = pango_font_get_metrics (font, NULL);
+-
+-  font_height = pango_font_metrics_get_ascent (font_metrics) +
+-                pango_font_metrics_get_descent (font_metrics);
+-  font_height = PANGO_PIXELS (font_height);
+-
+-  pango_font_description_free (font_desc);
+-  pango_font_metrics_unref (font_metrics);
+-
+-  glClearColor (1.0, 1.0, 1.0, 1.0);
+-  glClearDepth (1.0);
+-
+-  glViewport (0, 0,
+-              widget->allocation.width, widget->allocation.height);
+-
+-  glMatrixMode (GL_PROJECTION);
+-  glLoadIdentity ();
+-  glOrtho (0.0, widget->allocation.width,
+-           0.0, widget->allocation.height,
+-           -1.0, 1.0);
+-
+-  glMatrixMode (GL_MODELVIEW);
+-  glLoadIdentity ();
+-
+-  gdk_gl_drawable_gl_end (gldrawable);
+-  /*** OpenGL END ***/
+-}
+-
+-static gboolean
+-configure_event (GtkWidget         *widget,
+-                 GdkEventConfigure *event,
+-                 gpointer           data)
+-{
+-  GdkGLContext *glcontext = gtk_widget_get_gl_context (widget);
+-  GdkGLDrawable *gldrawable = gtk_widget_get_gl_drawable (widget);
+-
+-  /*** OpenGL BEGIN ***/
+-  if (!gdk_gl_drawable_gl_begin (gldrawable, glcontext))
+-    return FALSE;
+-
+-  glViewport (0, 0,
+-              widget->allocation.width, widget->allocation.height);
+-
+-  glMatrixMode (GL_PROJECTION);
+-  glLoadIdentity ();
+-  glOrtho (0.0, widget->allocation.width,
+-           0.0, widget->allocation.height,
+-           -1.0, 1.0);
+-
+-  glMatrixMode (GL_MODELVIEW);
+-  glLoadIdentity ();
+-
+-  gdk_gl_drawable_gl_end (gldrawable);
+-  /*** OpenGL END ***/
+-
+-  return TRUE;
+-}
+-
+-static gboolean
+-expose_event (GtkWidget      *widget,
+-              GdkEventExpose *event,
+-              gpointer        data)
+-{
+-  GdkGLContext *glcontext = gtk_widget_get_gl_context (widget);
+-  GdkGLDrawable *gldrawable = gtk_widget_get_gl_drawable (widget);
+-  int i, j;
+-
+-  /*** OpenGL BEGIN ***/
+-  if (!gdk_gl_drawable_gl_begin (gldrawable, glcontext))
+-    return FALSE;
+-
+-  glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+-
+-  /*
+-   * Draw some text.
+-   */
+-  glColor3f (0.0, 0.0, 0.0);
+-  for (i = 2; i >= -2; i--)
+-    {
+-      glRasterPos2f (10.0, 0.5*widget->allocation.height + i*font_height);
+-      for (j = ' '; j <= 'Z'; j++)
+-        glCallList (font_list_base+j);
+-    }
+-
+-  /*
+-   * Show font description string.
+-   */
+-  glColor3f (1.0, 0.0, 0.0);
+-  glRasterPos2f (10.0, 10.0);
+-  glListBase (font_list_base);
+-  glCallLists (strlen (font_string), GL_UNSIGNED_BYTE, font_string);
+-
+-  if (gdk_gl_drawable_is_double_buffered (gldrawable))
+-    gdk_gl_drawable_swap_buffers (gldrawable);
+-  else
+-    glFlush ();
+-
+-  gdk_gl_drawable_gl_end (gldrawable);
+-  /*** OpenGL END ***/
+-
+-  return TRUE;
+-}
+-
+-static void
+-print_gl_config_attrib (GdkGLConfig *glconfig,
+-                        const gchar *attrib_str,
+-                        int          attrib,
+-                        gboolean     is_boolean)
+-{
+-  int value;
+-
+-  g_print ("%s = ", attrib_str);
+-  if (gdk_gl_config_get_attrib (glconfig, attrib, &value))
+-    {
+-      if (is_boolean)
+-        g_print ("%s\n", value == TRUE ? "TRUE" : "FALSE");
+-      else
+-        g_print ("%d\n", value);
+-    }
+-  else
+-    g_print ("*** Cannot get %s attribute value\n", attrib_str);
+-}
+-
+-static void
+-examine_gl_config_attrib (GdkGLConfig *glconfig)
+-{
+-  g_print ("\nOpenGL visual configurations :\n\n");
+-
+-  g_print ("gdk_gl_config_is_rgba (glconfig) = %s\n",
+-           gdk_gl_config_is_rgba (glconfig) ? "TRUE" : "FALSE");
+-  g_print ("gdk_gl_config_is_double_buffered (glconfig) = %s\n",
+-           gdk_gl_config_is_double_buffered (glconfig) ? "TRUE" : "FALSE");
+-  g_print ("gdk_gl_config_is_stereo (glconfig) = %s\n",
+-           gdk_gl_config_is_stereo (glconfig) ? "TRUE" : "FALSE");
+-  g_print ("gdk_gl_config_has_alpha (glconfig) = %s\n",
+-           gdk_gl_config_has_alpha (glconfig) ? "TRUE" : "FALSE");
+-  g_print ("gdk_gl_config_has_depth_buffer (glconfig) = %s\n",
+-           gdk_gl_config_has_depth_buffer (glconfig) ? "TRUE" : "FALSE");
+-  g_print ("gdk_gl_config_has_stencil_buffer (glconfig) = %s\n",
+-           gdk_gl_config_has_stencil_buffer (glconfig) ? "TRUE" : "FALSE");
+-  g_print ("gdk_gl_config_has_accum_buffer (glconfig) = %s\n",
+-           gdk_gl_config_has_accum_buffer (glconfig) ? "TRUE" : "FALSE");
+-
+-  g_print ("\n");
+-
+-  print_gl_config_attrib (glconfig, "GDK_GL_USE_GL",           GDK_GL_USE_GL,           TRUE);
+-  print_gl_config_attrib (glconfig, "GDK_GL_BUFFER_SIZE",      GDK_GL_BUFFER_SIZE,      FALSE);
+-  print_gl_config_attrib (glconfig, "GDK_GL_LEVEL",            GDK_GL_LEVEL,            FALSE);
+-  print_gl_config_attrib (glconfig, "GDK_GL_RGBA",             GDK_GL_RGBA,             TRUE);
+-  print_gl_config_attrib (glconfig, "GDK_GL_DOUBLEBUFFER",     GDK_GL_DOUBLEBUFFER,     TRUE);
+-  print_gl_config_attrib (glconfig, "GDK_GL_STEREO",           GDK_GL_STEREO,           TRUE);
+-  print_gl_config_attrib (glconfig, "GDK_GL_AUX_BUFFERS",      GDK_GL_AUX_BUFFERS,      FALSE);
+-  print_gl_config_attrib (glconfig, "GDK_GL_RED_SIZE",         GDK_GL_RED_SIZE,         FALSE);
+-  print_gl_config_attrib (glconfig, "GDK_GL_GREEN_SIZE",       GDK_GL_GREEN_SIZE,       FALSE);
+-  print_gl_config_attrib (glconfig, "GDK_GL_BLUE_SIZE",        GDK_GL_BLUE_SIZE,        FALSE);
+-  print_gl_config_attrib (glconfig, "GDK_GL_ALPHA_SIZE",       GDK_GL_ALPHA_SIZE,       FALSE);
+-  print_gl_config_attrib (glconfig, "GDK_GL_DEPTH_SIZE",       GDK_GL_DEPTH_SIZE,       FALSE);
+-  print_gl_config_attrib (glconfig, "GDK_GL_STENCIL_SIZE",     GDK_GL_STENCIL_SIZE,     FALSE);
+-  print_gl_config_attrib (glconfig, "GDK_GL_ACCUM_RED_SIZE",   GDK_GL_ACCUM_RED_SIZE,   FALSE);
+-  print_gl_config_attrib (glconfig, "GDK_GL_ACCUM_GREEN_SIZE", GDK_GL_ACCUM_GREEN_SIZE, FALSE);
+-  print_gl_config_attrib (glconfig, "GDK_GL_ACCUM_BLUE_SIZE",  GDK_GL_ACCUM_BLUE_SIZE,  FALSE);
+-  print_gl_config_attrib (glconfig, "GDK_GL_ACCUM_ALPHA_SIZE", GDK_GL_ACCUM_ALPHA_SIZE, FALSE);
+-
+-  g_print ("\n");
+-}
+-
+-int
+-main (int   argc,
+-      char *argv[])
+-{
+-  GdkGLConfig *glconfig;
+-  gint major, minor;
+-
+-  GtkWidget *window;
+-  GtkWidget *vbox;
+-  GtkWidget *drawing_area;
+-  GtkWidget *button;
+-
+-  /*
+-   * Init GTK.
+-   */
+-
+-  gtk_init (&argc, &argv);
+-
+-  /*
+-   * Init GtkGLExt.
+-   */
+-
+-  gtk_gl_init (&argc, &argv);
+-
+-  /*
+-   * Query OpenGL extension version.
+-   */
+-
+-  gdk_gl_query_version (&major, &minor);
+-  g_print ("\nOpenGL extension version - %d.%d\n",
+-           major, minor);
+-
+-  /*
+-   * Configure OpenGL-capable visual.
+-   */
+-
+-  /* Try double-buffered visual */
+-  glconfig = gdk_gl_config_new_by_mode (GDK_GL_MODE_RGB    |
+-                                        GDK_GL_MODE_DOUBLE);
+-  if (glconfig == NULL)
+-    {
+-      g_print ("*** Cannot find the double-buffered visual.\n");
+-      g_print ("*** Trying single-buffered visual.\n");
+-
+-      /* Try single-buffered visual */
+-      glconfig = gdk_gl_config_new_by_mode (GDK_GL_MODE_RGB);
+-      if (glconfig == NULL)
+-        {
+-          g_print ("*** No appropriate OpenGL-capable visual found.\n");
+-          exit (1);
+-        }
+-    }
+-
+-  examine_gl_config_attrib (glconfig);
+-
+-  /*
+-   * Top-level window.
+-   */
+-
+-  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+-  gtk_window_set_title (GTK_WINDOW (window), "font");
+-
+-  /* Get automatically redrawn if any of their children changed allocation. */
+-  gtk_container_set_reallocate_redraws (GTK_CONTAINER (window), TRUE);
+-
+-  g_signal_connect (G_OBJECT (window), "delete_event",
+-                    G_CALLBACK (gtk_main_quit), NULL);
+-
+-  /*
+-   * VBox.
+-   */
+-
+-  vbox = gtk_vbox_new (FALSE, 0);
+-  gtk_container_add (GTK_CONTAINER (window), vbox);
+-  gtk_widget_show (vbox);
+-
+-  /*
+-   * Drawing area for drawing OpenGL scene.
+-   */
+-
+-  drawing_area = gtk_drawing_area_new ();
+-  gtk_widget_set_size_request (drawing_area, 640, 240);
+-
+-  /* Set OpenGL-capability to the widget. */
+-  gtk_widget_set_gl_capability (drawing_area,
+-				glconfig,
+-                                NULL,
+-                                TRUE,
+-                                GDK_GL_RGBA_TYPE);
+-
+-  g_signal_connect_after (G_OBJECT (drawing_area), "realize",
+-                          G_CALLBACK (realize), NULL);
+-  g_signal_connect (G_OBJECT (drawing_area), "configure_event",
+-		    G_CALLBACK (configure_event), NULL);
+-  g_signal_connect (G_OBJECT (drawing_area), "expose_event",
+-		    G_CALLBACK (expose_event), NULL);
+-
+-  gtk_box_pack_start (GTK_BOX (vbox), drawing_area, TRUE, TRUE, 0);
+-
+-  gtk_widget_show (drawing_area);
+-
+-  /*
+-   * Simple quit button.
+-   */
+-
+-  button = gtk_button_new_with_label ("Quit");
+-
+-  g_signal_connect (G_OBJECT (button), "clicked",
+-                    G_CALLBACK (gtk_main_quit), NULL);
+-
+-  gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
+-
+-  gtk_widget_show (button);
+-
+-  /*
+-   * Show window.
+-   */
+-
+-  gtk_widget_show (window);
+-
+-  /*
+-   * Main loop.
+-   */
+-
+-  gtk_main ();
+-
+-  return 0;
+-}
+diff -ruN gtkglext-1.2.0.orig/examples/Makefile.am gtkglext-1.2.0/examples/Makefile.am
+--- gtkglext-1.2.0.orig/examples/Makefile.am	2003-09-09 09:50:04.000000000 +0000
++++ gtkglext-1.2.0/examples/Makefile.am	2020-04-28 12:38:52.422260365 +0000
+@@ -45,7 +45,6 @@
+ 	pixmap-mixed		\
+ 	share-lists		\
+ 	color			\
+-	font			\
+ 	button			\
+ 	shapes			\
+ 	logo			\
+@@ -101,10 +100,6 @@
+ color_DEPENDENCIES = $(DEPS)
+ color_LDADD = $(LDADDS)
+ 
+-font_SOURCES = font.c
+-font_DEPENDENCIES = $(DEPS)
+-font_LDADD = $(LDADDS)
+-
+ button_SOURCES = button.c
+ button_DEPENDENCIES = $(DEPS)
+ button_LDADD = $(LDADDS)
+diff -ruN gtkglext-1.2.0.orig/gdk/gdkglfont.h gtkglext-1.2.0/gdk/gdkglfont.h
+--- gtkglext-1.2.0.orig/gdk/gdkglfont.h	2004-02-20 09:38:10.000000000 +0000
++++ gtkglext-1.2.0/gdk/gdkglfont.h	1970-01-01 00:00:00.000000000 +0000
+@@ -1,44 +0,0 @@
+-/* GdkGLExt - OpenGL Extension to GDK
+- * Copyright (C) 2002-2004  Naofumi Yasufuku
+- *
+- * This library is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU Lesser General Public
+- * License as published by the Free Software Foundation; either
+- * version 2.1 of the License, or (at your option) any later version.
+- *
+- * This library 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
+- * Lesser General Public License for more details.
+- *
+- * You should have received a copy of the GNU Lesser General Public
+- * License along with this library; if not, write to the Free Software
+- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA.
+- */
+-
+-#ifndef __GDK_GL_FONT_H__
+-#define __GDK_GL_FONT_H__
+-
+-#include <gdk/gdkgldefs.h>
+-#include <gdk/gdkgltypes.h>
+-
+-G_BEGIN_DECLS
+-
+-#ifndef GDK_MULTIHEAD_SAFE
+-PangoFont *gdk_gl_font_use_pango_font             (const PangoFontDescription *font_desc,
+-                                                   int                         first,
+-                                                   int                         count,
+-                                                   int                         list_base);
+-#endif /* GDK_MULTIHEAD_SAFE */
+-
+-#ifdef GDKGLEXT_MULTIHEAD_SUPPORT
+-PangoFont *gdk_gl_font_use_pango_font_for_display (GdkDisplay                 *display,
+-                                                   const PangoFontDescription *font_desc,
+-                                                   int                         first,
+-                                                   int                         count,
+-                                                   int                         list_base);
+-#endif /* GDKGLEXT_MULTIHEAD_SUPPORT */
+-
+-G_END_DECLS
+-
+-#endif /* __GDK_GL_FONT_H__ */
+diff -ruN gtkglext-1.2.0.orig/gdk/gdkgl.h gtkglext-1.2.0/gdk/gdkgl.h
+--- gtkglext-1.2.0.orig/gdk/gdkgl.h	2004-02-20 09:38:10.000000000 +0000
++++ gtkglext-1.2.0/gdk/gdkgl.h	2020-04-28 12:36:16.503298432 +0000
+@@ -33,7 +33,6 @@
+ #include <gdk/gdkgldrawable.h>
+ #include <gdk/gdkglpixmap.h>
+ #include <gdk/gdkglwindow.h>
+-#include <gdk/gdkglfont.h>
+ #include <gdk/gdkglshapes.h>
+ 
+ #endif /* __GDK_GL_H__ */
+diff -ruN gtkglext-1.2.0.orig/gdk/Makefile.am gtkglext-1.2.0/gdk/Makefile.am
+--- gtkglext-1.2.0.orig/gdk/Makefile.am	2003-08-15 09:10:38.000000000 +0000
++++ gtkglext-1.2.0/gdk/Makefile.am	2020-04-28 12:36:09.336526338 +0000
+@@ -76,7 +76,6 @@
+ 	gdkgldrawable.h		\
+ 	gdkglpixmap.h		\
+ 	gdkglwindow.h		\
+-	gdkglfont.h		\
+ 	gdkglshapes.h		\
+ 	gdkglglext.h
+ 
+diff -ruN gtkglext-1.2.0.orig/gdk/win32/gdkglfont-win32.c gtkglext-1.2.0/gdk/win32/gdkglfont-win32.c
+--- gtkglext-1.2.0.orig/gdk/win32/gdkglfont-win32.c	2004-02-20 09:38:13.000000000 +0000
++++ gtkglext-1.2.0/gdk/win32/gdkglfont-win32.c	1970-01-01 00:00:00.000000000 +0000
+@@ -1,109 +0,0 @@
+-/* GdkGLExt - OpenGL Extension to GDK
+- * Copyright (C) 2002-2004  Naofumi Yasufuku
+- *
+- * This library is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU Lesser General Public
+- * License as published by the Free Software Foundation; either
+- * version 2.1 of the License, or (at your option) any later version.
+- *
+- * This library 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
+- * Lesser General Public License for more details.
+- *
+- * You should have received a copy of the GNU Lesser General Public
+- * License along with this library; if not, write to the Free Software
+- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA.
+- */
+-
+-#include <pango/pangowin32.h>
+-
+-#include "gdkglwin32.h"
+-#include "gdkglprivate-win32.h"
+-#include "gdkglfont.h"
+-
+-#ifdef GDKGLEXT_MULTIHEAD_SUPPORT
+-#include <gdk/gdkdisplay.h>
+-#endif /* GDKGLEXT_MULTIHEAD_SUPPORT */
+-
+-PangoFont *
+-gdk_gl_font_use_pango_font (const PangoFontDescription *font_desc,
+-                            int                         first,
+-                            int                         count,
+-                            int                         list_base)
+-{
+-  PangoFontMap *font_map;
+-  PangoFont *font = NULL;
+-  LOGFONT *logfont = NULL;
+-  PangoWin32FontCache *font_cache;
+-  HFONT hfont;
+-  HDC hdc;
+-
+-  g_return_val_if_fail (font_desc != NULL, NULL);
+-
+-  GDK_GL_NOTE_FUNC ();
+-
+-  font_map = pango_win32_font_map_for_display ();
+-
+-  font = pango_font_map_load_font (font_map, NULL, font_desc);
+-  if (font == NULL)
+-    {
+-      g_warning ("cannot load PangoFont");
+-      goto FAIL;
+-    }
+-
+-  logfont = pango_win32_font_logfont (font);
+-  if (logfont == NULL)
+-    {
+-      g_warning ("cannot get LOGFONT struct");
+-      font = NULL;
+-      goto FAIL;
+-    }
+-
+-  font_cache = pango_win32_font_map_get_font_cache (font_map);
+-
+-  hfont = pango_win32_font_cache_load (font_cache, logfont);
+-
+-  hdc = CreateCompatibleDC (NULL);
+-  if (hdc == NULL)
+-    {
+-      g_warning ("cannot create a memory DC");
+-      font = NULL;
+-      goto FAIL;
+-    }
+-
+-  SelectObject (hdc, hfont);
+-
+-  if (!wglUseFontBitmaps (hdc, first, count, list_base))
+-    {
+-      g_warning ("cannot create the font display lists");
+-      font = NULL;
+-      goto FAIL;
+-    }
+-
+-  if (!DeleteDC (hdc))
+-    g_warning ("cannot delete the memory DC");
+-
+-  pango_win32_font_cache_unload (font_cache, hfont);
+-
+- FAIL:
+-
+-  if (logfont != NULL)
+-    g_free (logfont);
+-
+-  return font;
+-}
+-
+-#ifdef GDKGLEXT_MULTIHEAD_SUPPORT
+-
+-PangoFont *
+-gdk_gl_font_use_pango_font_for_display (GdkDisplay                 *display,
+-                                        const PangoFontDescription *font_desc,
+-                                        int                         first,
+-                                        int                         count,
+-                                        int                         list_base)
+-{
+-  return gdk_gl_font_use_pango_font (font_desc, first, count, list_base);
+-}
+-
+-#endif /* GDKGLEXT_MULTIHEAD_SUPPORT */
+diff -ruN gtkglext-1.2.0.orig/gdk/win32/Makefile.am gtkglext-1.2.0/gdk/win32/Makefile.am
+--- gtkglext-1.2.0.orig/gdk/win32/Makefile.am	2003-08-15 01:39:54.000000000 +0000
++++ gtkglext-1.2.0/gdk/win32/Makefile.am	2020-04-28 12:36:35.270241212 +0000
+@@ -36,7 +36,6 @@
+ 	gdkgldrawable-win32.c	\
+ 	gdkglpixmap-win32.c	\
+ 	gdkglwindow-win32.c	\
+-	gdkglfont-win32.c	\
+ 	gdkglwglext.c
+ 
+ gdkglext_win32_headers = \
+diff -ruN gtkglext-1.2.0.orig/gdk/x11/gdkglfont-x11.c gtkglext-1.2.0/gdk/x11/gdkglfont-x11.c
+--- gtkglext-1.2.0.orig/gdk/x11/gdkglfont-x11.c	2004-02-20 09:38:14.000000000 +0000
++++ gtkglext-1.2.0/gdk/x11/gdkglfont-x11.c	1970-01-01 00:00:00.000000000 +0000
+@@ -1,196 +0,0 @@
+-/* GdkGLExt - OpenGL Extension to GDK
+- * Copyright (C) 2002-2004  Naofumi Yasufuku
+- *
+- * This library is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU Lesser General Public
+- * License as published by the Free Software Foundation; either
+- * version 2.1 of the License, or (at your option) any later version.
+- *
+- * This library 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
+- * Lesser General Public License for more details.
+- *
+- * You should have received a copy of the GNU Lesser General Public
+- * License along with this library; if not, write to the Free Software
+- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA.
+- */
+-
+-#include <string.h>
+-
+-#include <pango/pangox.h>
+-
+-#include "gdkglx.h"
+-#include "gdkglprivate-x11.h"
+-#include "gdkglfont.h"
+-
+-#ifdef GDKGLEXT_MULTIHEAD_SUPPORT
+-#include <gdk/gdkdisplay.h>
+-#endif /* GDKGLEXT_MULTIHEAD_SUPPORT */
+-
+-/*
+- * This code is ripped from gdk/x11/gdkfont-x11.c in GTK+.
+- */
+-static char *
+-gdk_gl_font_charset_for_locale (void)
+-{
+-  static char *charset_map[][2] = {
+-    { "ANSI_X3.4-1968", "iso8859-1" },
+-    { "US-ASCII",   "iso8859-1" },
+-    { "ISO-8859-1", "iso8859-1" },
+-    { "ISO-8859-2", "iso8859-2" },
+-    { "ISO-8859-3", "iso8859-3" },
+-    { "ISO-8859-4", "iso8859-4" },
+-    { "ISO-8859-5", "iso8859-5" },
+-    { "ISO-8859-6", "iso8859-6" },
+-    { "ISO-8859-7", "iso8859-7" },
+-    { "ISO-8859-8", "iso8859-8" },
+-    { "ISO-8859-9", "iso8859-9" },
+-    { "UTF-8",      "iso8859-1" }
+-  };
+-
+-  const char *codeset;
+-  char *result = NULL;
+-  gsize i;
+-
+-  g_get_charset (&codeset);
+-  
+-  for (i = 0; i < G_N_ELEMENTS (charset_map); i++)
+-    if (strcmp (charset_map[i][0], codeset) == 0)
+-      {
+-	result = charset_map[i][1];
+-	break;
+-      }
+-
+-  if (result != NULL)
+-    return g_strdup (result);
+-  else
+-    return g_strdup ("iso8859-1");
+-}
+-
+-static PangoFont *
+-gdk_gl_font_use_pango_font_common (PangoFontMap               *font_map,
+-                                   const PangoFontDescription *font_desc,
+-                                   int                         first,
+-                                   int                         count,
+-                                   int                         list_base)
+-{
+-  PangoFont *font = NULL;
+-  gchar *charset = NULL;
+-  PangoXSubfont subfont_id;
+-  gchar *xlfd = NULL;
+-  PangoXFontCache *font_cache;
+-  XFontStruct *fs;
+-
+-  GDK_GL_NOTE_FUNC_PRIVATE ();
+-
+-  font = pango_font_map_load_font (font_map, NULL, font_desc);
+-  if (font == NULL)
+-    {
+-      g_warning ("cannot load PangoFont");
+-      goto FAIL;
+-    }
+-
+-  charset = gdk_gl_font_charset_for_locale ();
+-  if (!pango_x_find_first_subfont (font, &charset, 1, &subfont_id))
+-    {
+-      g_warning ("cannot find PangoXSubfont");
+-      font = NULL;
+-      goto FAIL;
+-    }
+-
+-  xlfd = pango_x_font_subfont_xlfd (font, subfont_id);
+-  if (xlfd == NULL)
+-    {
+-      g_warning ("cannot get XLFD");
+-      font = NULL;
+-      goto FAIL;
+-    }
+-
+-  font_cache = pango_x_font_map_get_font_cache (font_map);
+-
+-  fs = pango_x_font_cache_load (font_cache, xlfd);
+-
+-  glXUseXFont (fs->fid, first, count, list_base);
+-
+-  pango_x_font_cache_unload (font_cache, fs);
+-
+- FAIL:
+-
+-  if (charset != NULL)
+-    g_free (charset);
+-
+-  if (xlfd != NULL)
+-    g_free (xlfd);
+-
+-  return font;
+-}
+-
+-/**
+- * gdk_gl_font_use_pango_font:
+- * @font_desc: a #PangoFontDescription describing the font to use.
+- * @first: the index of the first glyph to be taken.
+- * @count: the number of glyphs to be taken.
+- * @list_base: the index of the first display list to be generated.
+- *
+- * Creates bitmap display lists from a #PangoFont.
+- *
+- * Return value: the #PangoFont used, or NULL if no font matched.
+- **/
+-PangoFont *
+-gdk_gl_font_use_pango_font (const PangoFontDescription *font_desc,
+-                            int                         first,
+-                            int                         count,
+-                            int                         list_base)
+-{
+-  PangoFontMap *font_map;
+-
+-  g_return_val_if_fail (font_desc != NULL, NULL);
+-
+-  GDK_GL_NOTE_FUNC ();
+-
+-#ifdef GDKGLEXT_MULTIHEAD_SUPPORT
+-  font_map = pango_x_font_map_for_display (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
+-#else  /* GDKGLEXT_MULTIHEAD_SUPPORT */
+-  font_map = pango_x_font_map_for_display (gdk_x11_get_default_xdisplay ());
+-#endif /* GDKGLEXT_MULTIHEAD_SUPPORT */
+-
+-  return gdk_gl_font_use_pango_font_common (font_map, font_desc,
+-                                            first, count, list_base);
+-}
+-
+-#ifdef GDKGLEXT_MULTIHEAD_SUPPORT
+-
+-/**
+- * gdk_gl_font_use_pango_font_for_display:
+- * @display: a #GdkDisplay.
+- * @font_desc: a #PangoFontDescription describing the font to use.
+- * @first: the index of the first glyph to be taken.
+- * @count: the number of glyphs to be taken.
+- * @list_base: the index of the first display list to be generated.
+- *
+- * Creates bitmap display lists from a #PangoFont.
+- *
+- * Return value: the #PangoFont used, or NULL if no font matched.
+- **/
+-PangoFont *
+-gdk_gl_font_use_pango_font_for_display (GdkDisplay                 *display,
+-                                        const PangoFontDescription *font_desc,
+-                                        int                         first,
+-                                        int                         count,
+-                                        int                         list_base)
+-{
+-  PangoFontMap *font_map;
+-
+-  g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
+-  g_return_val_if_fail (font_desc != NULL, NULL);
+-
+-  GDK_GL_NOTE_FUNC ();
+-
+-  font_map = pango_x_font_map_for_display (GDK_DISPLAY_XDISPLAY (display));
+-
+-  return gdk_gl_font_use_pango_font_common (font_map, font_desc,
+-                                            first, count, list_base);
+-}
+-
+-#endif /* GDKGLEXT_MULTIHEAD_SUPPORT */
+diff -ruN gtkglext-1.2.0.orig/gdk/x11/Makefile.am gtkglext-1.2.0/gdk/x11/Makefile.am
+--- gtkglext-1.2.0.orig/gdk/x11/Makefile.am	2003-05-07 18:18:42.000000000 +0000
++++ gtkglext-1.2.0/gdk/x11/Makefile.am	2020-04-28 12:37:19.780896258 +0000
+@@ -38,7 +38,6 @@
+ 	gdkgldrawable-x11.c	\
+ 	gdkglpixmap-x11.c	\
+ 	gdkglwindow-x11.c	\
+-	gdkglfont-x11.c		\
+ 	gdkglglxext.c
+ 
+ gdkglext_x11_headers = \



More information about the arch-commits mailing list