├── Source ├── opal │ ├── OpalPDFSurface.m │ ├── OpalPSSurface.m │ ├── OpalFontEnumerator.m │ ├── OpalFaceInfo.m │ ├── GNUmakefile.preamble │ └── GNUmakefile ├── art │ ├── .cvsignore │ ├── FTFontEnumerator.h │ ├── FTFaceInfo.m │ ├── GNUmakefile │ ├── GNUmakefile.preamble │ └── FTFaceInfo.h ├── gsc │ ├── .cvsignore │ ├── GNUmakefile │ ├── GNUmakefile.preamble │ └── externs.m ├── win32 │ ├── .cvsignore │ ├── GNUmakefile.preamble │ └── GNUmakefile ├── winlib │ ├── .cvsignore │ ├── GNUmakefile │ └── GNUmakefile.preamble ├── x11 │ ├── .cvsignore │ ├── wrasterP.h │ ├── GNUmakefile.preamble │ └── GNUmakefile ├── xdps │ ├── .cvsignore │ ├── PXKEPSImageRep.m │ ├── GNUmakefile │ ├── GNUmakefile.preamble │ ├── general.psw │ ├── drawingfuncs.psw │ └── AFMFileFontInfo.h ├── xlib │ ├── .cvsignore │ ├── linking.m │ ├── GNUmakefile.preamble │ └── GNUmakefile ├── .cvsignore ├── English.lproj │ └── nfontFaceNames.strings ├── cairo │ ├── CairoFontAssetInstaller.m │ ├── CairoFontEnumerator.m │ ├── GNUmakefile.preamble │ ├── CairoPDFSurface.m │ ├── CairoPSSurface.m │ ├── CairoSurface.m │ ├── Win32CairoGState.m │ ├── CairoFaceInfo.m │ └── GNUmakefile ├── Swedish.lproj │ └── nfontFaceNames.strings ├── headless │ ├── HeadlessFaceInfo.m │ ├── HeadlessContext.m │ ├── HeadlessFontEnumerator.m │ ├── GNUmakefile │ ├── GNUmakefile.preamble │ ├── HeadlessGState.m │ └── HeadlessFontInfo.m ├── wayland │ ├── README.md │ ├── GNUmakefile.preamble │ ├── GNUmakefile │ └── WaylandServer+Layershell.m ├── GNUmakefile ├── GNUmakefile.preamble └── GNUmakefile.postamble ├── Tools ├── .cvsignore ├── GNUmakefile ├── font_cacher.1 └── GNUmakefile.preamble ├── .cvsignore ├── Fonts ├── Helvetica.nfont │ ├── n019003l.pfb │ ├── n019003l.pfm │ ├── n019004l.pfb │ ├── n019004l.pfm │ ├── n019023l.pfb │ ├── n019023l.pfm │ ├── n019024l.pfb │ ├── n019024l.pfm │ ├── n019043l.pfb │ ├── n019043l.pfm │ ├── n019044l.pfb │ ├── n019044l.pfm │ ├── n019063l.pfb │ ├── n019063l.pfm │ ├── n019064l.pfb │ ├── n019064l.pfm │ └── FontInfo.plist ├── GNUmakefile └── GNUmakefile.postamble ├── install.sh ├── .gitignore ├── CODEOWNERS ├── config.make.in ├── wayland-regenerate.sh ├── gnustep-back.spec.in ├── Version ├── README ├── Documentation ├── Back │ ├── Back.gsdoc │ └── GNUmakefile ├── readme.texi └── announce.texi ├── .github └── scripts │ └── dependencies.sh ├── Headers ├── headless │ ├── HeadlessContext.h │ ├── HeadlessServer.h │ ├── HeadlessGState.h │ ├── HeadlessFontInfo.h │ ├── HeadlessFaceInfo.h │ └── HeadlessFontEnumerator.h ├── cairo │ ├── XGCairoSurface.h │ ├── CairoContext.h │ ├── Win32CairoGState.h │ ├── XGCairoModernSurface.h │ ├── XGCairoGlitzSurface.h │ ├── CairoPSSurface.h │ ├── XGCairoXImageSurface.h │ ├── CairoFontAssetInstaller.h │ ├── CairoPDFSurface.h │ ├── Win32CairoSurface.h │ ├── Win32CairoGlitzSurface.h │ ├── CairoFontEnumerator.h │ ├── CairoFontInfo.h │ ├── CairoGState.h │ ├── CairoFaceInfo.h │ ├── CairoSurface.h │ └── WaylandCairoShmSurface.h ├── opal │ ├── OpalContext.h │ ├── OpalFaceInfo.h │ ├── OpalFontEnumerator.h │ ├── OpalSurface.h │ └── OpalFontInfo.h ├── fontconfig │ ├── FCFontAssetInstaller.h │ ├── FCFontInfo.h │ ├── FCFontEnumerator.h │ └── FCFaceInfo.h ├── art │ └── ARTContext.h ├── winlib │ ├── WIN32Context.h │ ├── WIN32FontEnumerator.h │ ├── WIN32FontInfo.h │ └── WIN32GState.h ├── xlib │ ├── XGContext.h │ └── GSXftFontInfo.h ├── gsc │ ├── GSStreamContext.h │ ├── GSStreamGState.h │ ├── gscolors.h │ └── GSFunction.h ├── win32 │ └── WIN32OpenGL.h └── x11 │ ├── XGOpenGL.h │ ├── XGDragView.h │ └── XGInputServer.h ├── back.make.in ├── GNUmakefile ├── INSTALL ├── ANNOUNCE └── GNUmakefile.postamble /Source/opal/OpalPDFSurface.m: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Source/opal/OpalPSSurface.m: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Source/art/.cvsignore: -------------------------------------------------------------------------------- 1 | Resources 2 | *obj 3 | -------------------------------------------------------------------------------- /Source/gsc/.cvsignore: -------------------------------------------------------------------------------- 1 | Resources 2 | *obj 3 | -------------------------------------------------------------------------------- /Source/win32/.cvsignore: -------------------------------------------------------------------------------- 1 | Resources 2 | *obj 3 | -------------------------------------------------------------------------------- /Source/winlib/.cvsignore: -------------------------------------------------------------------------------- 1 | Resources 2 | *obj 3 | -------------------------------------------------------------------------------- /Source/x11/.cvsignore: -------------------------------------------------------------------------------- 1 | Resources 2 | *obj 3 | -------------------------------------------------------------------------------- /Source/xdps/.cvsignore: -------------------------------------------------------------------------------- 1 | Resources 2 | *obj 3 | -------------------------------------------------------------------------------- /Source/xlib/.cvsignore: -------------------------------------------------------------------------------- 1 | Resources 2 | *obj 3 | -------------------------------------------------------------------------------- /Source/.cvsignore: -------------------------------------------------------------------------------- 1 | ix86 2 | config.h 3 | *_obj 4 | *.bundle 5 | -------------------------------------------------------------------------------- /Tools/.cvsignore: -------------------------------------------------------------------------------- 1 | shared_debug_obj 2 | shared_obj 3 | xdnd.c 4 | xdnd.h 5 | XGCommonFont.m 6 | -------------------------------------------------------------------------------- /.cvsignore: -------------------------------------------------------------------------------- 1 | autom4te.cache 2 | config.h 3 | config.log 4 | config.status 5 | config.cache 6 | config.make 7 | back.make 8 | -------------------------------------------------------------------------------- /Fonts/Helvetica.nfont/n019003l.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnustep/libs-back/HEAD/Fonts/Helvetica.nfont/n019003l.pfb -------------------------------------------------------------------------------- /Fonts/Helvetica.nfont/n019003l.pfm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnustep/libs-back/HEAD/Fonts/Helvetica.nfont/n019003l.pfm -------------------------------------------------------------------------------- /Fonts/Helvetica.nfont/n019004l.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnustep/libs-back/HEAD/Fonts/Helvetica.nfont/n019004l.pfb -------------------------------------------------------------------------------- /Fonts/Helvetica.nfont/n019004l.pfm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnustep/libs-back/HEAD/Fonts/Helvetica.nfont/n019004l.pfm -------------------------------------------------------------------------------- /Fonts/Helvetica.nfont/n019023l.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnustep/libs-back/HEAD/Fonts/Helvetica.nfont/n019023l.pfb -------------------------------------------------------------------------------- /Fonts/Helvetica.nfont/n019023l.pfm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnustep/libs-back/HEAD/Fonts/Helvetica.nfont/n019023l.pfm -------------------------------------------------------------------------------- /Fonts/Helvetica.nfont/n019024l.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnustep/libs-back/HEAD/Fonts/Helvetica.nfont/n019024l.pfb -------------------------------------------------------------------------------- /Fonts/Helvetica.nfont/n019024l.pfm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnustep/libs-back/HEAD/Fonts/Helvetica.nfont/n019024l.pfm -------------------------------------------------------------------------------- /Fonts/Helvetica.nfont/n019043l.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnustep/libs-back/HEAD/Fonts/Helvetica.nfont/n019043l.pfb -------------------------------------------------------------------------------- /Fonts/Helvetica.nfont/n019043l.pfm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnustep/libs-back/HEAD/Fonts/Helvetica.nfont/n019043l.pfm -------------------------------------------------------------------------------- /Fonts/Helvetica.nfont/n019044l.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnustep/libs-back/HEAD/Fonts/Helvetica.nfont/n019044l.pfb -------------------------------------------------------------------------------- /Fonts/Helvetica.nfont/n019044l.pfm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnustep/libs-back/HEAD/Fonts/Helvetica.nfont/n019044l.pfm -------------------------------------------------------------------------------- /Fonts/Helvetica.nfont/n019063l.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnustep/libs-back/HEAD/Fonts/Helvetica.nfont/n019063l.pfb -------------------------------------------------------------------------------- /Fonts/Helvetica.nfont/n019063l.pfm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnustep/libs-back/HEAD/Fonts/Helvetica.nfont/n019063l.pfm -------------------------------------------------------------------------------- /Fonts/Helvetica.nfont/n019064l.pfb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnustep/libs-back/HEAD/Fonts/Helvetica.nfont/n019064l.pfb -------------------------------------------------------------------------------- /Fonts/Helvetica.nfont/n019064l.pfm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnustep/libs-back/HEAD/Fonts/Helvetica.nfont/n019064l.pfm -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | PREFIX=$1 4 | MAKE=${2:-make} 5 | 6 | . $PREFIX/System/Library/Makefiles/GNUstep.sh 7 | $MAKE GNUSTEP_INSTALLATION_DOMAIN=SYSTEM messages=yes install 8 | 9 | exit 0 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | obj 2 | *.log 3 | *.sum 4 | *.bundle 5 | *.service 6 | autom4te.cache 7 | config.h 8 | config.log 9 | config.status 10 | config.cache 11 | config.make 12 | back.make 13 | Source/config.h 14 | Source/libgnustep*Info.plist 15 | Tools/XGCommonFont.m 16 | Tools/xdnd.c 17 | *~ 18 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | # These owners will be the default owners for everything in 2 | # the repo. Unless a later match takes precedence, 3 | # @global-owner1 and @global-owner2 will be requested for 4 | # review when someone opens a pull request. 5 | * @fredkiefer 6 | Source/opal/* @ivucica @fredkiefer 7 | Headers/opal/* @ivucica @fredkiefer 8 | -------------------------------------------------------------------------------- /config.make.in: -------------------------------------------------------------------------------- 1 | # -*-makefile-*- 2 | # Extra make variables for backend library 3 | # 4 | 5 | WITH_WRASTER=@WITH_WRASTER@ 6 | WITH_XFT=@WITH_XFT@ 7 | WITH_GLITZ=@WITH_GLITZ@ 8 | 9 | GRAPHIC_LIBS=@LIBS@ 10 | GRAPHIC_CFLAGS=@CPPFLAGS@ 11 | GRAPHIC_LFLAGS=@LDFLAGS@ 12 | X_PRE_LIBS=@X_PRE_LIBS@ 13 | 14 | BUILD_SERVER=@BUILD_SERVER@ 15 | 16 | BUILD_GRAPHICS=@BUILD_GRAPHICS@ 17 | 18 | BACKEND_NAME=@BACKEND_NAME@ 19 | 20 | -------------------------------------------------------------------------------- /wayland-regenerate.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This script is used to regenerate xdg-shell-protocol public code and headers 4 | # from the XML specification. 5 | 6 | wayland-scanner public-code /usr/share/wayland-protocols/stable/xdg-shell/xdg-shell.xml Source/wayland/xdg-shell-protocol.c 7 | wayland-scanner client-header /usr/share/wayland-protocols/stable/xdg-shell/xdg-shell.xml Headers/wayland/xdg-shell-client-protocol.h 8 | -------------------------------------------------------------------------------- /gnustep-back.spec.in: -------------------------------------------------------------------------------- 1 | Summary: The GNUstep backend library 2 | Release: 1 3 | License: LGPL 4 | Group: Development/Libraries 5 | Source: ftp://ftp.gnustep.org/pub/gnustep/core/%{gs_name}-%{gs_version}.tar.gz 6 | Requires: gnustep-gui 7 | Obsoletes: gnustep-xgps 8 | Packager: GNUstep Development 9 | Vendor: The GNUstep Project 10 | URL: http://www.gnustep.org/ 11 | 12 | %description 13 | This is a backend for the GNUstep gui Library which allows you to use 14 | the GNUstep gui Library on an X Windows System (other backends will 15 | be added later to allow you to use the GNUstep gui Library in other windowing 16 | environments). This package includes development headers too. 17 | 18 | -------------------------------------------------------------------------------- /Version: -------------------------------------------------------------------------------- 1 | # This file is included in various Makefile's to get version information. 2 | # Copyright (C) 2002 Free Software Foundation 3 | 4 | # The version number of this release. 5 | GNUSTEP_BACK_MAJOR_VERSION=0 6 | GNUSTEP_BACK_MINOR_VERSION=32 7 | GNUSTEP_BACK_SUBMINOR_VERSION=0 8 | # This numeric value should match above 9 | VERSION_NUMBER=032.0 10 | # This numeric value should match the compatible gui interface version 11 | INTERFACE_VERSION_NUMBER=032 12 | 13 | GNUSTEP_BACK_VERSION=${GNUSTEP_BACK_MAJOR_VERSION}.${GNUSTEP_BACK_MINOR_VERSION}.${GNUSTEP_BACK_SUBMINOR_VERSION} 14 | VERSION=${GNUSTEP_BACK_VERSION} 15 | 16 | GNUSTEP_BACK_FTP_MACHINE=ftp.gnustep.org 17 | GNUSTEP_BACK_FTP_DIRECTORY=pub/gnustep/core 18 | 19 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | 1 README 2 | ******** 3 | 4 | This is version 0.32.0 of the GNUstep GUI Backend (‘gnustep-back’). 5 | 6 | Here is some introductory info to get you started: 7 | 8 | 1.1 Initial reading 9 | =================== 10 | 11 | • The file ‘ANNOUNCE’ contains a very brief overview of the library. 12 | It also tells you where to get the most recent version. 13 | 14 | • The file ‘NEWS’ has the library's feature history. 15 | 16 | • The file ‘INSTALL’ gives instructions for installing the library. 17 | 18 | 1.2 How can you help? 19 | ===================== 20 | 21 | • Give us feedback! Tell us what you like; tell us what you think 22 | could be better. Send us bug reports at . 23 | 24 | -------------------------------------------------------------------------------- /Documentation/Back/Back.gsdoc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Back 6 | 7 | 8 | 9 | 10 | $Revision$ 11 | $Date$ 12 | 2005 Free Software Foundation, Inc. 13 | 14 | 15 | 16 | Back 17 |

18 | Documentation for understanding and writting GUI backends. 19 |

20 | 21 | Window Focus 22 | User Default Options 23 | 24 |
25 | 26 |
27 | -------------------------------------------------------------------------------- /Documentation/readme.texi: -------------------------------------------------------------------------------- 1 | @c -*-texinfo-*- 2 | @chapter README 3 | 4 | @ifset TEXT-ONLY 5 | @include version.texi 6 | @end ifset 7 | 8 | This is version @value{GNUSTEP-BACK-VERSION} of the GNUstep GUI Backend 9 | (@samp{gnustep-back}). 10 | 11 | Here is some introductory info to get you started: 12 | 13 | @section Initial reading 14 | 15 | @itemize @bullet 16 | @item 17 | The file @file{ANNOUNCE} contains a very brief overview of the library. 18 | It also tells you where to get the most recent version. 19 | 20 | @item 21 | The file @file{NEWS} has the library's feature history. 22 | 23 | @item 24 | The file @file{INSTALL} gives instructions for installing the library. 25 | @end itemize 26 | 27 | @section How can you help? 28 | 29 | @itemize @bullet 30 | 31 | @item 32 | Give us feedback! Tell us what you like; tell us what you think 33 | could be better. Send us bug reports at @email{bug-gnustep@@gnu.org}. 34 | 35 | @end itemize 36 | -------------------------------------------------------------------------------- /Source/English.lproj/nfontFaceNames.strings: -------------------------------------------------------------------------------- 1 | /*** 2 | English.lproj/nfontFaceNames.strings 3 | updated by make_strings 2003-06-28 15:21:29 +0200 4 | add comments above this one 5 | ***/ 6 | 7 | 8 | /*** Strings from art/ftfont.m ***/ 9 | /* File: art/ftfont.m:183 */ 10 | "Bold" = "Bold"; 11 | /* File: art/ftfont.m:189 */ 12 | "Bold Italic" = "Bold Italic"; 13 | /* File: art/ftfont.m:190 */ 14 | "Bold Oblique" = "Bold Oblique"; 15 | /* File: art/ftfont.m:177 */ 16 | "Book" = "Book"; 17 | /* File: art/ftfont.m:181 */ 18 | "Demi" = "Demi"; 19 | /* File: art/ftfont.m:182 */ 20 | "Demibold" = "Demibold"; 21 | /* File: art/ftfont.m:184 */ 22 | "Heavy" = "Heavy"; 23 | /* File: art/ftfont.m:186 */ 24 | "Italic" = "Italic"; 25 | /* File: art/ftfont.m:180 */ 26 | "Medium" = "Medium"; 27 | /* File: art/ftfont.m:187 */ 28 | "Oblique" = "Oblique"; 29 | /* File: art/ftfont.m:178 */ 30 | "Regular" = "Regular"; 31 | /* File: art/ftfont.m:179 */ 32 | "Roman" = "Roman"; 33 | -------------------------------------------------------------------------------- /Fonts/Helvetica.nfont/FontInfo.plist: -------------------------------------------------------------------------------- 1 | { 2 | Version = 2; 3 | Foundry = "URW"; 4 | Faces = 5 | ( 6 | { 7 | PostScriptName = "Helvetica"; 8 | Name = "Regular"; 9 | Files = ("n019003l.pfb","n019003l.pfm","n019003l.afm"); 10 | }, 11 | { 12 | PostScriptName = "Helvetica-Bold"; 13 | Name = "Bold"; 14 | Files = ("n019004l.pfb","n019004l.pfm","n019004l.afm"); 15 | }, 16 | { 17 | PostScriptName = "Helvetica-Italic"; 18 | Name = "Italic"; 19 | Files = ("n019023l.pfb","n019023l.pfm","n019023l.afm"); 20 | }, 21 | { 22 | PostScriptName = "Helvetica-BoldItalic"; 23 | Name = "Bold Italic"; 24 | Files = ("n019024l.pfb","n019024l.pfm","n019024l.afm"); 25 | }, 26 | { 27 | PostScriptName = "Helvetica-Oblique"; 28 | Name = "Oblique"; 29 | Files = ("n019023l.pfb","n019023l.pfm","n019023l.afm"); 30 | }, 31 | { 32 | PostScriptName = "Helvetica-BoldOblique"; 33 | Name = "Bold Oblique"; 34 | Files = ("n019024l.pfb","n019024l.pfm","n019024l.afm"); 35 | } 36 | ); 37 | } 38 | -------------------------------------------------------------------------------- /.github/scripts/dependencies.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env sh 2 | 3 | set -ex 4 | 5 | install_gnustep_make() { 6 | echo "::group::GNUstep Make" 7 | cd $DEPS_PATH 8 | git clone -q -b ${TOOLS_MAKE_BRANCH:-master} https://github.com/gnustep/tools-make.git 9 | cd tools-make 10 | ./configure --prefix=$INSTALL_PATH || cat config.log 11 | make install 12 | 13 | echo "::endgroup::" 14 | } 15 | 16 | install_gnustep_base() { 17 | echo "::group::GNUstep Base" 18 | cd $DEPS_PATH 19 | . $INSTALL_PATH/share/GNUstep/Makefiles/GNUstep.sh 20 | git clone -q -b ${LIBS_BASE_BRANCH:-master} https://github.com/gnustep/libs-base.git 21 | cd libs-base 22 | ./configure 23 | make 24 | make install 25 | echo "::endgroup::" 26 | } 27 | 28 | 29 | install_gnustep_gui() { 30 | echo "::group::GNUstep Gui" 31 | cd $DEPS_PATH 32 | . $INSTALL_PATH/share/GNUstep/Makefiles/GNUstep.sh 33 | git clone -q -b ${LIBS_GUI_BRANCH:-master} https://github.com/gnustep/libs-gui.git 34 | cd libs-gui 35 | ./configure 36 | make 37 | make install 38 | echo "::endgroup::" 39 | } 40 | 41 | mkdir -p $DEPS_PATH 42 | 43 | install_gnustep_make 44 | install_gnustep_base 45 | install_gnustep_gui 46 | -------------------------------------------------------------------------------- /Headers/headless/HeadlessContext.h: -------------------------------------------------------------------------------- 1 | /* 2 | HeadlessContext.h 3 | 4 | Copyright (C) 2003 Free Software Foundation, Inc. 5 | 6 | This file is part of GNUstep. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General Public 19 | License along with this library; see the file COPYING.LIB. 20 | If not, see or write to the 21 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 22 | Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | #ifndef HeadlessContext_h 26 | #define HeadlessContext_h 27 | 28 | #include "gsc/GSContext.h" 29 | 30 | @interface HeadlessContext : GSContext 31 | @end 32 | 33 | #endif /* HeadlessContext_h */ -------------------------------------------------------------------------------- /Source/cairo/CairoFontAssetInstaller.m: -------------------------------------------------------------------------------- 1 | /* Implementation of class CairoFontAssetInstaller 2 | Copyright (C) 2025 Free Software Foundation, Inc. 3 | 4 | By: Gregory John Casamento 5 | Date: October 4, 2025 6 | 7 | This file is part of the GNUstep Library. 8 | 9 | This library is free software; you can redistribute it and/or 10 | modify it under the terms of the GNU Lesser General Public 11 | License as published by the Free Software Foundation; either 12 | version 2.1 of the License, or (at your option) any later version. 13 | 14 | This library is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | Lesser General Public License for more details. 18 | 19 | You should have received a copy of the GNU Lesser General Public 20 | License along with this library; if not, write to the Free 21 | Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 22 | Boston, MA 02110 USA. 23 | */ 24 | 25 | #import 26 | #import "cairo/CairoFontAssetInstaller.h" 27 | 28 | @implementation CairoFontAssetInstaller 29 | @end 30 | -------------------------------------------------------------------------------- /Source/x11/wrasterP.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Raster graphics library 3 | * 4 | * Copyright (c) 1997-2002 Alfredo K. Kojima 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Library General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Library General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Library General Public 17 | * License along with this library; if not, write to the Free 18 | * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 | */ 20 | 21 | #ifndef WRASTERP_H_ 22 | #define WRASTERP_H_ 23 | 24 | #include 25 | 26 | 27 | #include "x11/wraster.h" 28 | 29 | 30 | #ifdef HAVE_HERMES 31 | 32 | # include 33 | 34 | typedef struct RHermesData { 35 | HermesHandle palette; 36 | HermesHandle converter; 37 | } RHermesData; 38 | 39 | #endif 40 | 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /Headers/cairo/XGCairoSurface.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2002 Free Software Foundation, Inc. 3 | 4 | Author: Banlu Kemiyatorn 5 | 6 | This file is part of GNUstep. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General Public 19 | License along with this library; see the file COPYING.LIB. 20 | If not, see or write to the 21 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 22 | Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | #ifndef XGCairoSurface_h 26 | #define XGCairoSurface_h 27 | 28 | #include "cairo/CairoSurface.h" 29 | 30 | @interface XGCairoSurface : CairoSurface 31 | { 32 | } 33 | @end 34 | 35 | 36 | #endif 37 | 38 | -------------------------------------------------------------------------------- /Headers/headless/HeadlessServer.h: -------------------------------------------------------------------------------- 1 | /* 2 | HeadlessServer.h 3 | 4 | Copyright (C) 2002-2015 Free Software Foundation, Inc. 5 | 6 | This file is part of GNUstep. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General Public 19 | License along with this library; see the file COPYING.LIB. 20 | If not, see or write to the 21 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 22 | Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | #ifndef HeadlessServer_h 26 | #define HeadlessServer_h 27 | 28 | #include "config.h" 29 | 30 | #include 31 | 32 | @interface HeadlessServer : GSDisplayServer 33 | { 34 | } 35 | @end 36 | 37 | #endif /* HeadlessServer_h */ -------------------------------------------------------------------------------- /Headers/opal/OpalContext.h: -------------------------------------------------------------------------------- 1 | /* 2 | OpalContext.h 3 | 4 | Copyright (C) 2013 Free Software Foundation, Inc. 5 | 6 | Author: Ivan Vucica 7 | Date: June 2013 8 | 9 | This file is part of GNUstep. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #ifndef OpalContext_h_defined 29 | #define OpalContext_h_defined 30 | 31 | #import "gsc/GSContext.h" 32 | 33 | @interface OpalContext : GSContext 34 | { 35 | } 36 | @end 37 | 38 | #endif 39 | 40 | -------------------------------------------------------------------------------- /Headers/cairo/CairoContext.h: -------------------------------------------------------------------------------- 1 | /* 2 | CairoContext.h 3 | 4 | Copyright (C) 2003 Free Software Foundation, Inc. 5 | 6 | August 31, 2003 7 | Written by Banlu Kemiyatorn 8 | 9 | This file is part of GNUstep. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #ifndef CairoContext_h 29 | #define CairoContext_h 30 | 31 | #include "gsc/GSContext.h" 32 | 33 | @interface CairoContext : GSContext 34 | { 35 | } 36 | @end 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /Headers/headless/HeadlessGState.h: -------------------------------------------------------------------------------- 1 | /* 2 | HeadlessGState.h 3 | 4 | Copyright (C) 2004 Free Software Foundation, Inc. 5 | 6 | Based on work by: Banlu Kemiyatorn 7 | 8 | This file is part of GNUstep. 9 | 10 | This library is free software; you can redistribute it and/or 11 | modify it under the terms of the GNU Lesser General Public 12 | License as published by the Free Software Foundation; either 13 | version 2 of the License, or (at your option) any later version. 14 | 15 | This library is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | Lesser General Public License for more details. 19 | 20 | You should have received a copy of the GNU Lesser General Public 21 | License along with this library; see the file COPYING.LIB. 22 | If not, see or write to the 23 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | Boston, MA 02110-1301, USA. 25 | */ 26 | 27 | #ifndef HeadlessGState_h 28 | #define HeadlessGState_h 29 | 30 | #include "gsc/GSGState.h" 31 | 32 | @interface HeadlessGState : GSGState 33 | { 34 | } 35 | @end 36 | 37 | #endif /* HeadlessGState_h */ -------------------------------------------------------------------------------- /Headers/headless/HeadlessFontInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | HeadlessFontInfo.h 3 | 4 | Copyright (C) 2003 Free Software Foundation, Inc. 5 | 6 | Based on work by: Banlu Kemiyatorn 7 | 8 | This file is part of GNUstep. 9 | 10 | This library is free software; you can redistribute it and/or 11 | modify it under the terms of the GNU Lesser General Public 12 | License as published by the Free Software Foundation; either 13 | version 2 of the License, or (at your option) any later version. 14 | 15 | This library is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | Lesser General Public License for more details. 19 | 20 | You should have received a copy of the GNU Lesser General Public 21 | License along with this library; see the file COPYING.LIB. 22 | If not, see or write to the 23 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | Boston, MA 02110-1301, USA. 25 | */ 26 | 27 | #ifndef HeadlessFontInfo_h 28 | #define HeadlessFontInfo_h 29 | 30 | #include 31 | 32 | @interface HeadlessFontInfo : GSFontInfo 33 | @end 34 | 35 | #endif /* HeadlessFontInfo_h */ -------------------------------------------------------------------------------- /Source/Swedish.lproj/nfontFaceNames.strings: -------------------------------------------------------------------------------- 1 | /* 2 | Translated by Alexander Malmberg. 3 | 4 | Jag kan egentligen inte mycket svensk typografijargong; nagon som kan 5 | borde dubbel-kolla oversattningen. (2003-06-28) 6 | */ 7 | 8 | /*** 9 | Swedish.lproj/nfontFaceNames.strings 10 | updated by make_strings 2003-06-28 15:21:29 +0200 11 | add comments above this one 12 | ***/ 13 | 14 | 15 | /*** Unmatched/untranslated keys ***/ 16 | 17 | /* File: art/ftfont.m:177 */ 18 | /* Flag: untranslated */ 19 | "Book" = "Book"; 20 | 21 | /* File: art/ftfont.m:179 */ 22 | /* Flag: untranslated */ 23 | "Roman" = "Roman"; 24 | 25 | /* File: art/ftfont.m:180 */ 26 | /* Flag: untranslated */ 27 | "Medium" = "Medium"; 28 | 29 | /* File: art/ftfont.m:184 */ 30 | /* Flag: untranslated */ 31 | "Heavy" = "Heavy"; 32 | 33 | 34 | /*** Strings from art/ftfont.m ***/ 35 | /* File: art/ftfont.m:183 */ 36 | "Bold" = "Fet"; 37 | /* File: art/ftfont.m:189 */ 38 | "Bold Italic" = "Fet Kursiv"; 39 | /* File: art/ftfont.m:190 */ 40 | "Bold Oblique" = "Fet Kursiv"; 41 | /* File: art/ftfont.m:181 */ 42 | "Demi" = "Halvfet"; 43 | /* File: art/ftfont.m:182 */ 44 | "Demibold" = "Halvfet"; 45 | /* File: art/ftfont.m:186 */ 46 | "Italic" = "Kursiv"; 47 | /* File: art/ftfont.m:187 */ 48 | "Oblique" = "Kursiv"; 49 | /* File: art/ftfont.m:178 */ 50 | "Regular" = "Vanlig"; 51 | -------------------------------------------------------------------------------- /Headers/cairo/Win32CairoGState.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2004 Free Software Foundation, Inc. 3 | 4 | This file is part of GNUstep. 5 | 6 | This library is free software; you can redistribute it and/or 7 | modify it under the terms of the GNU Lesser General Public 8 | License as published by the Free Software Foundation; either 9 | version 2 of the License, or (at your option) any later version. 10 | 11 | This library is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | Lesser General Public License for more details. 15 | 16 | You should have received a copy of the GNU Lesser General Public 17 | License along with this library; see the file COPYING.LIB. 18 | If not, see or write to the 19 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 20 | Boston, MA 02110-1301, USA. 21 | */ 22 | 23 | #ifndef Win32CairoGState_h 24 | #define Win32CairoGState_h 25 | 26 | #include "cairo/CairoGState.h" 27 | #include 28 | 29 | 30 | @interface Win32CairoGState : CairoGState 31 | { 32 | NSBezierPath *_lastPath; 33 | } 34 | 35 | - (HDC) getHDC; 36 | - (void) releaseHDC: (HDC)hdc; 37 | 38 | @end 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /Headers/cairo/XGCairoModernSurface.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2011 Free Software Foundation, Inc. 3 | 4 | Author: Eric Wasylishen 5 | 6 | This file is part of GNUstep. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General Public 19 | License along with this library; see the file COPYING.LIB. 20 | If not, see or write to the 21 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 22 | Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | #ifndef XGCairoXModernSurface_h 26 | #define XGCairoXModernSurface_h 27 | 28 | #include "cairo/CairoSurface.h" 29 | 30 | @interface XGCairoModernSurface : CairoSurface 31 | { 32 | @private 33 | cairo_surface_t *_windowSurface; 34 | } 35 | @end 36 | 37 | #endif 38 | 39 | -------------------------------------------------------------------------------- /Headers/fontconfig/FCFontAssetInstaller.h: -------------------------------------------------------------------------------- 1 | /* Interface of class FCFontAssetInstaller 2 | Copyright (C) 2024 Free Software Foundation, Inc. 3 | 4 | By: Gregory John Casamento 5 | Date: September 5, 2025 6 | 7 | This file is part of the GNUstep Library. 8 | 9 | This library is free software; you can redistribute it and/or 10 | modify it under the terms of the GNU Lesser General Public 11 | License as published by the Free Software Foundation; either 12 | version 2.1 of the License, or (at your option) any later version. 13 | 14 | This library is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | Lesser General Public License for more details. 18 | 19 | You should have received a copy of the GNU Lesser General Public 20 | License along with this library; if not, write to the Free 21 | Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 22 | Boston, MA 02110 USA. 23 | */ 24 | 25 | #ifndef FCFONTASSETINSTALLER_H 26 | #define FCFONTASSETINSTALLER_H 27 | 28 | #import 29 | #import 30 | 31 | @interface FCFontAssetInstaller : GSFontAssetInstaller 32 | @end 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /Headers/art/ARTContext.h: -------------------------------------------------------------------------------- 1 | /* ARTContext 2 | 3 | ART backend drawing context. 4 | 5 | Copyright (C) 2005 Free Software Foundation, Inc. 6 | 7 | Written By: Alexander Malmberg 8 | 9 | This file is part of the GNU Objective C User Interface library. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #ifndef ARTContext_h 29 | #define ARTContext_h 30 | 31 | #include "gsc/GSContext.h" 32 | 33 | @interface ARTContext : GSContext 34 | @end 35 | 36 | #endif 37 | 38 | -------------------------------------------------------------------------------- /Headers/cairo/XGCairoGlitzSurface.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2004 Free Software Foundation, Inc. 3 | 4 | Author: Banlu Kemiyatorn 5 | 6 | This file is part of GNUstep. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General Public 19 | License along with this library; see the file COPYING.LIB. 20 | If not, see or write to the 21 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 22 | Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | #ifndef XGCairoGlitzSurface_h 26 | #define XGCairoGlitzSurface_h 27 | 28 | #include "x11/XGServer.h" 29 | #include "x11/XGServerWindow.h" 30 | 31 | #include "cairo/CairoSurface.h" 32 | 33 | @interface XGCairoGlitzSurface : CairoSurface 34 | { 35 | } 36 | @end 37 | 38 | 39 | #endif 40 | 41 | -------------------------------------------------------------------------------- /Headers/cairo/CairoPSSurface.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2007 Free Software Foundation, Inc. 3 | 4 | Author: Fred Kiefer 5 | 6 | This file is part of GNUstep. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General Public 19 | License along with this library; see the file COPYING.LIB. 20 | If not, see or write to the 21 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 22 | Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | #ifndef XGCairoPSSurface_h 26 | #define XGCairoPSSurface_h 27 | 28 | #include "cairo/CairoSurface.h" 29 | 30 | @interface CairoPSSurface : CairoSurface 31 | { 32 | NSSize size; 33 | } 34 | 35 | - (void)setSize: (NSSize)newSize; 36 | - (void)writeComment: (NSString *)comment; 37 | 38 | @end 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /Headers/cairo/XGCairoXImageSurface.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2002 Free Software Foundation, Inc. 3 | 4 | Author: Banlu Kemiyatorn 5 | 6 | This file is part of GNUstep. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General Public 19 | License along with this library; see the file COPYING.LIB. 20 | If not, see or write to the 21 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 22 | Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | #ifndef XGCairoXImageSurface_h 26 | #define XGCairoXImageSurface_h 27 | 28 | #include "cairo/CairoSurface.h" 29 | 30 | @class XWindowBuffer; 31 | 32 | @interface XGCairoXImageSurface : CairoSurface 33 | { 34 | @private 35 | XWindowBuffer *wi; 36 | } 37 | @end 38 | 39 | 40 | #endif 41 | 42 | -------------------------------------------------------------------------------- /Source/art/FTFontEnumerator.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 3 | 4 | Author: Alexander Malmberg 5 | 6 | This file is part of GNUstep. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General Public 19 | License along with this library; see the file COPYING.LIB. 20 | If not, see or write to the 21 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 22 | Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | #ifndef FTFontEnumerator_h 26 | #define FTFontEnumerator_h 27 | 28 | #include 29 | 30 | @class FTFaceInfo; 31 | 32 | @interface FTFontEnumerator : GSFontEnumerator 33 | 34 | + (FTFaceInfo *) fontWithName: (NSString *)name; 35 | 36 | @end 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /Headers/cairo/CairoFontAssetInstaller.h: -------------------------------------------------------------------------------- 1 | /* 2 | CairoFontAssetInstaller.h 3 | 4 | Copyright (C) 2003 Free Software Foundation, Inc. 5 | 6 | By: Gregory John Casamento 7 | Date: October 4, 2025 8 | 9 | This file is part of GNUstep. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #ifndef CairoFontAssetInstaller_h 29 | #define CairoFontAssetInstaller_h 30 | 31 | #include "fontconfig/FCFontAssetInstaller.h" 32 | 33 | @interface CairoFontAssetInstaller : FCFontAssetInstaller 34 | @end 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /Headers/cairo/CairoPDFSurface.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2007 Free Software Foundation, Inc. 3 | 4 | Author: Fred Kiefer 5 | 6 | This file is part of GNUstep. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General Public 19 | License along with this library; see the file COPYING.LIB. 20 | If not, see or write to the 21 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 22 | Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | #ifndef XGCairoPDFSurface_h 26 | #define XGCairoPDFSurface_h 27 | 28 | #include "cairo/CairoSurface.h" 29 | 30 | @interface CairoPDFSurface : CairoSurface 31 | { 32 | NSSize size; 33 | } 34 | 35 | - (void)setSize: (NSSize)newSize; 36 | - (void)writeComment: (NSString *)comment; 37 | 38 | @end 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /Headers/cairo/Win32CairoSurface.h: -------------------------------------------------------------------------------- 1 | /* 2 | Win32CairoSurface.h 3 | 4 | Copyright (C) 2008 Free Software Foundation, Inc. 5 | 6 | March 2nd, 2008 7 | Author: Xavier Glattard 8 | 9 | This file is part of GNUstep. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #ifndef Win32CairoSurface_h 29 | #define Win32CairoSurface_h 30 | 31 | #include "win32/WIN32Server.h" 32 | 33 | #include "cairo/CairoSurface.h" 34 | 35 | @interface Win32CairoSurface : CairoSurface 36 | { 37 | } 38 | @end 39 | 40 | 41 | #endif 42 | 43 | 44 | -------------------------------------------------------------------------------- /Headers/opal/OpalFaceInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | OpalFaceInfo.h 3 | 4 | Copyright (C) 2013 Free Software Foundation, Inc. 5 | 6 | Author: Ivan Vucica 7 | Date: September 2013 8 | 9 | This file is part of GNUstep. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #ifndef OpalFaceInfo_h_defined 29 | #define OpalFaceInfo_h_defined 30 | 31 | #import "fontconfig/FCFaceInfo.h" 32 | #import 33 | 34 | @interface OpalFaceInfo : FCFaceInfo 35 | { 36 | CGFontRef _fontFace; 37 | } 38 | 39 | - (void *) fontFace; 40 | 41 | @end 42 | #endif 43 | -------------------------------------------------------------------------------- /Headers/cairo/Win32CairoGlitzSurface.h: -------------------------------------------------------------------------------- 1 | /* 2 | Win32CairoGlitzSurface.h 3 | 4 | Copyright (C) 2008 Free Software Foundation, Inc. 5 | 6 | March 2nd, 2008 7 | Author: Xavier Glattard 8 | 9 | This file is part of GNUstep. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #ifndef Win32CairoGlitzSurface_h 29 | #define Win32CairoGlitzSurface_h 30 | 31 | #include "win32/WIN32Server.h" 32 | 33 | #include "cairo/CairoSurface.h" 34 | 35 | @interface Win32CairoGlitzSurface : CairoSurface 36 | { 37 | } 38 | @end 39 | 40 | 41 | #endif 42 | 43 | 44 | -------------------------------------------------------------------------------- /Headers/winlib/WIN32Context.h: -------------------------------------------------------------------------------- 1 | /* WIN32Context - Implements graphic context for MSWindows 2 | 3 | Copyright (C) 2002 Free Software Foundation, Inc. 4 | 5 | Written by: Fred Kiefer 6 | Date: March 2002 7 | 8 | This file is part of the GNU Objective C User Interface Library. 9 | 10 | This library is free software; you can redistribute it and/or 11 | modify it under the terms of the GNU Lesser General Public 12 | License as published by the Free Software Foundation; either 13 | version 2 of the License, or (at your option) any later version. 14 | 15 | This library is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | Lesser General Public License for more details. 19 | 20 | You should have received a copy of the GNU Lesser General Public 21 | License along with this library; see the file COPYING.LIB. 22 | If not, see or write to the 23 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | Boston, MA 02110-1301, USA. 25 | */ 26 | 27 | #ifndef _WIN32Context_h_INCLUDE 28 | #define _WIN32Context_h_INCLUDE 29 | 30 | #include "gsc/GSContext.h" 31 | 32 | @interface WIN32Context : GSContext 33 | { 34 | @public 35 | } 36 | 37 | @end 38 | 39 | #endif /* _WIN32Context_h_INCLUDE */ 40 | -------------------------------------------------------------------------------- /Headers/xlib/XGContext.h: -------------------------------------------------------------------------------- 1 | /* XGContext 2 | 3 | Backend drawing context using the Xlib library. 4 | 5 | Copyright (C) 1995 Free Software Foundation, Inc. 6 | 7 | Written By: Adam Fedor 8 | Date: Nov 1998 9 | 10 | This file is part of the GNU Objective C User Interface library. 11 | 12 | This library is free software; you can redistribute it and/or 13 | modify it under the terms of the GNU Lesser General Public 14 | License as published by the Free Software Foundation; either 15 | version 2 of the License, or (at your option) any later version. 16 | 17 | This library is distributed in the hope that it will be useful, 18 | but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | Lesser General Public License for more details. 21 | 22 | You should have received a copy of the GNU Lesser General Public 23 | License along with this library; see the file COPYING.LIB. 24 | If not, see or write to the 25 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 26 | Boston, MA 02110-1301, USA. 27 | */ 28 | 29 | #ifndef _XGContext_h_INCLUDE 30 | #define _XGContext_h_INCLUDE 31 | 32 | #include "gsc/GSContext.h" 33 | 34 | @interface XGContext : GSContext 35 | { 36 | } 37 | @end 38 | 39 | #endif /* _XGContext_h_INCLUDE */ 40 | -------------------------------------------------------------------------------- /Headers/gsc/GSStreamContext.h: -------------------------------------------------------------------------------- 1 | /* GSStreamContext - Output Postscript to a stream 2 | 3 | Copyright (C) 1999 Free Software Foundation, Inc. 4 | 5 | Written by: Adam Fedor 6 | Date: Mar 1999 7 | 8 | This file is part of the GNU Objective C User Interface library. 9 | 10 | This library is free software; you can redistribute it and/or 11 | modify it under the terms of the GNU Lesser General Public 12 | License as published by the Free Software Foundation; either 13 | version 2 of the License, or (at your option) any later version. 14 | 15 | This library is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | Lesser General Public License for more details. 19 | 20 | You should have received a copy of the GNU Lesser General Public 21 | License along with this library; see the file COPYING.LIB. 22 | If not, see or write to the 23 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | Boston, MA 02110-1301, USA. 25 | */ 26 | 27 | #ifndef _GSStreamContext_h_INCLUDE 28 | #define _GSStreamContext_h_INCLUDE 29 | 30 | #include 31 | #include "gsc/GSContext.h" 32 | 33 | @interface GSStreamContext : GSContext 34 | { 35 | FILE *gstream; 36 | } 37 | 38 | @end 39 | 40 | #endif /* _GSStreamContext_h_INCLUDE */ 41 | -------------------------------------------------------------------------------- /Headers/winlib/WIN32FontEnumerator.h: -------------------------------------------------------------------------------- 1 | /* Win32FontEnumerator - Implements font enumerator for MSWindows 2 | 3 | Copyright (C) 2002 Free Software Foundation, Inc. 4 | 5 | Written by: Fred Kiefer 6 | Date: March 2002 7 | 8 | This file is part of the GNU Objective C User Interface Library. 9 | 10 | This library is free software; you can redistribute it and/or 11 | modify it under the terms of the GNU Lesser General Public 12 | License as published by the Free Software Foundation; either 13 | version 2 of the License, or (at your option) any later version. 14 | 15 | This library is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | Lesser General Public License for more details. 19 | 20 | You should have received a copy of the GNU Lesser General Public 21 | License along with this library; see the file COPYING.LIB. 22 | If not, see or write to the 23 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | Boston, MA 02110-1301, USA. 25 | */ 26 | 27 | #ifndef _WIN32FontEnumerator_h_INCLUDE 28 | #define _WIN32FontEnumerator_h_INCLUDE 29 | 30 | #include "GNUstepGUI/GSFontInfo.h" 31 | 32 | @interface WIN32FontEnumerator : GSFontEnumerator 33 | { 34 | } 35 | @end 36 | 37 | #endif/* _WIN32FontEnumerator_h_INCLUDE */ 38 | -------------------------------------------------------------------------------- /Headers/opal/OpalFontEnumerator.h: -------------------------------------------------------------------------------- 1 | /* 2 | OpalFontEnumerator.h 3 | 4 | Copyright (C) 2013 Free Software Foundation, Inc. 5 | 6 | Author: Ivan Vucica 7 | Date: June 2013 8 | 9 | This file is part of GNUstep. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #ifndef OpalFontEnumerator_h_defined 29 | #define OpalFontEnumerator_h_defined 30 | 31 | #import "fontconfig/FCFontEnumerator.h" 32 | 33 | @class OpalFaceInfo; 34 | 35 | @interface OpalFontEnumerator : FCFontEnumerator 36 | { 37 | } 38 | + (Class) faceInfoClass; 39 | + (OpalFaceInfo *) fontWithName: (NSString *)name; 40 | @end 41 | 42 | #endif 43 | 44 | 45 | -------------------------------------------------------------------------------- /Source/opal/OpalFontEnumerator.m: -------------------------------------------------------------------------------- 1 | /* 2 | OpalFontEnumerator.m 3 | 4 | Copyright (C) 2013 Free Software Foundation, Inc. 5 | 6 | Author: Ivan Vucica 7 | Date: September 2013 8 | 9 | This file is part of GNUstep. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #import "opal/OpalFontEnumerator.h" 29 | #import "opal/OpalFontInfo.h" 30 | 31 | @implementation OpalFontEnumerator 32 | 33 | + (Class) faceInfoClass 34 | { 35 | return [OpalFaceInfo class]; 36 | } 37 | 38 | + (OpalFaceInfo *) fontWithName: (NSString *) name 39 | { 40 | return (OpalFaceInfo *) [super fontWithName: name]; 41 | } 42 | 43 | @end 44 | 45 | -------------------------------------------------------------------------------- /Fonts/GNUmakefile: -------------------------------------------------------------------------------- 1 | # 2 | # Resources makefile for GNUstep Back Library 3 | # Copyright (C) 2005 Free Software Foundation, Inc. 4 | # 5 | # Written by: Adam Fedor 6 | # Date: Feb 2005 7 | # 8 | # This file is part of the GNUstep Back Library. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Library General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Library General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Library General Public 21 | # License along with this library; if not, write to the Free 22 | # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111 USA. 23 | 24 | PACKAGE_NAME = gnustep-back 25 | GNUSTEP_LOCAL_ADDITIONAL_MAKEFILES=../back.make 26 | include $(GNUSTEP_MAKEFILES)/common.make 27 | 28 | #RESOURCE_SET_NAME = back-resources 29 | back-resources_INSTALL_DIR = $(GNUSTEP_LIBRARY)/Fonts 30 | back-resources_RESOURCE_FILES = $(FONT_INSTALL_FILES) 31 | 32 | FONT_INSTALL_FILES = Helvetica.nfont 33 | 34 | include $(GNUSTEP_MAKEFILES)/rules.make 35 | 36 | -include GNUmakefile.postamble 37 | 38 | -------------------------------------------------------------------------------- /Headers/cairo/CairoFontEnumerator.h: -------------------------------------------------------------------------------- 1 | /* 2 | CairoFontEnumerator.h 3 | 4 | Copyright (C) 2003 Free Software Foundation, Inc. 5 | August 31, 2003 6 | Written by Banlu Kemiyatorn 7 | 8 | This file is part of GNUstep. 9 | 10 | This library is free software; you can redistribute it and/or 11 | modify it under the terms of the GNU Lesser General Public 12 | License as published by the Free Software Foundation; either 13 | version 2 of the License, or (at your option) any later version. 14 | 15 | This library is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | Lesser General Public License for more details. 19 | 20 | You should have received a copy of the GNU Lesser General Public 21 | License along with this library; see the file COPYING.LIB. 22 | If not, see or write to the 23 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | Boston, MA 02110-1301, USA. 25 | */ 26 | 27 | 28 | #ifndef CairoFontEnumerator_h 29 | #define CairoFontEnumerator_h 30 | 31 | #include "fontconfig/FCFontEnumerator.h" 32 | #include 33 | 34 | @class CairoFaceInfo; 35 | 36 | @interface CairoFontEnumerator : FCFontEnumerator 37 | { 38 | } 39 | + (Class) faceInfoClass; 40 | + (CairoFaceInfo *) fontWithName: (NSString *)name; 41 | @end 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /Source/xlib/linking.m: -------------------------------------------------------------------------------- 1 | /* linking 2 | 3 | Copyright (C) 2005 Free Software Foundation, Inc. 4 | 5 | Author: Adam Fedor 6 | 7 | This file is part of the GNU Objective C User Interface library. 8 | 9 | This library is free software; you can redistribute it and/or 10 | modify it under the terms of the GNU Lesser General Public 11 | License as published by the Free Software Foundation; either 12 | version 2 of the License, or (at your option) any later version. 13 | 14 | This library is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | Lesser General Public License for more details. 18 | 19 | You should have received a copy of the GNU Lesser General Public 20 | License along with this library; see the file COPYING.LIB. 21 | If not, see or write to the 22 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 23 | Boston, MA 02110-1301, USA. 24 | */ 25 | 26 | #include "xlib/XGContext.h" 27 | 28 | //extern void __objc_xgps_gsbackend_linking (void); 29 | 30 | extern void __objc_xgcontextwindow_linking (void); 31 | extern void __objc_xgcontextevent_linking (void); 32 | 33 | 34 | void __objc_xgps_linking(void) 35 | { 36 | //__objc_xgps_gsbackend_linking(); 37 | __objc_xgcontextwindow_linking(); 38 | __objc_xgcontextevent_linking(); 39 | } 40 | -------------------------------------------------------------------------------- /Source/xdps/PXKEPSImageRep.m: -------------------------------------------------------------------------------- 1 | /* 2 | PXKEPSImageRep.m 3 | 4 | Copyright (C) 1996 Free Software Foundation, Inc. 5 | 6 | Author: Scott Christley 7 | Date: March 1996 8 | 9 | This file is part of the GNUstep GUI X/DPS Backend. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #include "config.h" 29 | #include "xdps/NSDPSContext.h" 30 | 31 | @interface PXKEPSImageRep : NSEPSImageRep 32 | { 33 | } 34 | 35 | @end 36 | 37 | @implementation PXKEPSImageRep 38 | 39 | - (Class) classForCoder: aCoder 40 | { 41 | if ([self class] == [PXKEPSImageRep class]) 42 | return [super class]; 43 | return [self class]; 44 | } 45 | 46 | @end 47 | -------------------------------------------------------------------------------- /Headers/headless/HeadlessFaceInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | HeadlessFaceInfo.h 3 | 4 | Copyright (C) 2003, 2023 Free Software Foundation, Inc. 5 | 6 | Based on work by: Banlu Kemiyatorn 7 | Based on work by: Alexander Malmberg 8 | Based on work by: Fred Kiefer 9 | 10 | This file is part of GNUstep. 11 | 12 | This library is free software; you can redistribute it and/or 13 | modify it under the terms of the GNU Lesser General Public 14 | License as published by the Free Software Foundation; either 15 | version 2 of the License, or (at your option) any later version. 16 | 17 | This library is distributed in the hope that it will be useful, 18 | but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | Lesser General Public License for more details. 21 | 22 | You should have received a copy of the GNU Lesser General Public 23 | License along with this library; see the file COPYING.LIB. 24 | If not, see or write to the 25 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 26 | Boston, MA 02110-1301, USA. 27 | */ 28 | 29 | #ifndef HeadlessFaceInfo_h 30 | #define HeadlessFaceInfo_h 31 | 32 | #include 33 | 34 | @interface HeadlessFaceInfo : NSObject 35 | { 36 | void *_fontFace; 37 | } 38 | 39 | - (void *)fontFace; 40 | 41 | @end 42 | #endif /* HeadlessFaceInfo_h */ -------------------------------------------------------------------------------- /Headers/headless/HeadlessFontEnumerator.h: -------------------------------------------------------------------------------- 1 | /* 2 | HeadlessFontEnumeartorInfo.h 3 | 4 | Copyright (C) 2003 Free Software Foundation, Inc. 5 | 6 | Based on work by: Banlu Kemiyatorn 7 | 8 | This file is part of GNUstep. 9 | 10 | This library is free software; you can redistribute it and/or 11 | modify it under the terms of the GNU Lesser General Public 12 | License as published by the Free Software Foundation; either 13 | version 2 of the License, or (at your option) any later version. 14 | 15 | This library is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | Lesser General Public License for more details. 19 | 20 | You should have received a copy of the GNU Lesser General Public 21 | License along with this library; see the file COPYING.LIB. 22 | If not, see or write to the 23 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | Boston, MA 02110-1301, USA. 25 | */ 26 | 27 | #ifndef HeadlessFontEnumerator_h 28 | #define HeadlessFontEnumerator_h 29 | 30 | #include 31 | 32 | #include "headless/HeadlessFaceInfo.h" 33 | 34 | @interface HeadlessFontEnumerator : GSFontEnumerator 35 | { 36 | } 37 | + (Class) faceInfoClass; 38 | + (HeadlessFaceInfo *) fontWithName: (NSString *)name; 39 | @end 40 | 41 | #endif /* HeadlessFontEnumerator_h */ -------------------------------------------------------------------------------- /Source/headless/HeadlessFaceInfo.m: -------------------------------------------------------------------------------- 1 | /* 2 | HeadlessFaceInfo.m 3 | 4 | Copyright (C) 2003, 2023 Free Software Foundation, Inc. 5 | 6 | Based on work by: Marcian Lytwyn for Keysight 7 | Based on work by: Banlu Kemiyatorn 8 | Based on work by: Alex Malmberg 9 | Based on work by: Fred Kiefer 10 | 11 | This file is part of GNUstep. 12 | 13 | This library is free software; you can redistribute it and/or 14 | modify it under the terms of the GNU Lesser General Public 15 | License as published by the Free Software Foundation; either 16 | version 2 of the License, or (at your option) any later version. 17 | 18 | This library is distributed in the hope that it will be useful, 19 | but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 | Lesser General Public License for more details. 22 | 23 | You should have received a copy of the GNU Lesser General Public 24 | License along with this library; see the file COPYING.LIB. 25 | If not, see or write to the 26 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 27 | Boston, MA 02110-1301, USA. 28 | */ 29 | 30 | #include "headless/HeadlessFaceInfo.h" 31 | 32 | @implementation HeadlessFaceInfo 33 | 34 | - (void) dealloc 35 | { 36 | [super dealloc]; 37 | } 38 | 39 | - (void *)fontFace 40 | { 41 | return _fontFace; 42 | } 43 | 44 | @end -------------------------------------------------------------------------------- /Headers/gsc/GSStreamGState.h: -------------------------------------------------------------------------------- 1 | /* GSGStreamState - Implements graphic state drawing for PS stream 2 | 3 | Copyright (C) 2002 Free Software Foundation, Inc. 4 | 5 | Written by: Adam Fedor 6 | Date: Sep 2002 7 | 8 | This file is part of the GNU Objective C User Interface Library. 9 | 10 | This library is free software; you can redistribute it and/or 11 | modify it under the terms of the GNU Lesser General Public 12 | License as published by the Free Software Foundation; either 13 | version 2 of the License, or (at your option) any later version. 14 | 15 | This library is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | Lesser General Public License for more details. 19 | 20 | You should have received a copy of the GNU Lesser General Public 21 | License along with this library; see the file COPYING.LIB. 22 | If not, see or write to the 23 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | Boston, MA 02110-1301, USA. 25 | */ 26 | 27 | #ifndef _GSStreamGState_h_INCLUDE 28 | #define _GSStreamGState_h_INCLUDE 29 | 30 | #include 31 | 32 | @interface GSStreamGState : GSGState 33 | { 34 | @public 35 | int clinecap, clinejoin; 36 | CGFloat clinewidth, cmiterlimit; 37 | CGFloat cstrokeadjust; 38 | } 39 | 40 | @end 41 | 42 | #endif /* _GSStreamGState_h_INCLUDE */ 43 | 44 | -------------------------------------------------------------------------------- /Headers/cairo/CairoFontInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | CairoFontInfo.h 3 | 4 | Copyright (C) 2003 Free Software Foundation, Inc. 5 | 6 | August 31, 2003 7 | Written by Banlu Kemiyatorn 8 | 9 | This file is part of GNUstep. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #ifndef CairoFontInfo_h 29 | #define CairoFontInfo_h 30 | 31 | #include "fontconfig/FCFontInfo.h" 32 | #include "cairo/CairoFaceInfo.h" 33 | #include 34 | 35 | @interface CairoFontInfo : FCFontInfo 36 | { 37 | @public 38 | cairo_scaled_font_t *_scaled; 39 | } 40 | 41 | - (void) drawGlyphs: (const NSGlyph*)glyphs 42 | length: (int)length 43 | on: (cairo_t*)ct; 44 | @end 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /Headers/cairo/CairoGState.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2004 Free Software Foundation, Inc. 3 | 4 | Author: Banlu Kemiyatorn 5 | 6 | This file is part of GNUstep. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General Public 19 | License along with this library; see the file COPYING.LIB. 20 | If not, see or write to the 21 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 22 | Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | #ifndef CairoGState_h 26 | #define CairoGState_h 27 | 28 | #include 29 | #include "gsc/GSGState.h" 30 | 31 | 32 | @class CairoSurface; 33 | 34 | @interface CairoGState : GSGState 35 | { 36 | @public 37 | cairo_t *_ct; 38 | CairoSurface *_surface; 39 | } 40 | 41 | - (void) GSCurrentSurface: (CairoSurface **)surface : (int *)x : (int *)y; 42 | - (void) GSSetSurface: (CairoSurface *)surface : (int)x : (int)y; 43 | 44 | - (void) showPage; 45 | @end 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /Source/art/FTFaceInfo.m: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 3 | 4 | Author: Alexander Malmberg 5 | 6 | This file is part of GNUstep. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General Public 19 | License along with this library; see the file COPYING.LIB. 20 | If not, see or write to the 21 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 22 | Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | #include 26 | #include "FTFaceInfo.h" 27 | 28 | @implementation FTFaceInfo 29 | 30 | - (NSString *) description 31 | { 32 | return [NSString stringWithFormat: @"", 33 | self, displayName, files, weight, traits]; 34 | } 35 | 36 | /* FTFaceInfo:s should never be deallocated */ 37 | - (void) dealloc 38 | { 39 | NSLog(@"Warning: -dealloc called on %@",self); 40 | GSNOSUPERDEALLOC; 41 | } 42 | 43 | @end 44 | 45 | -------------------------------------------------------------------------------- /Headers/cairo/CairoFaceInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | CairoFaceInfo.h 3 | 4 | Copyright (C) 2003 Free Software Foundation, Inc. 5 | 6 | August 31, 2003 7 | Written by Banlu Kemiyatorn 8 | Base on code by Alexander Malmberg 9 | Rewrite: Fred Kiefer 10 | Date: Jan 2006 11 | 12 | This file is part of GNUstep. 13 | 14 | This library is free software; you can redistribute it and/or 15 | modify it under the terms of the GNU Lesser General Public 16 | License as published by the Free Software Foundation; either 17 | version 2 of the License, or (at your option) any later version. 18 | 19 | This library is distributed in the hope that it will be useful, 20 | but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22 | Lesser General Public License for more details. 23 | 24 | You should have received a copy of the GNU Lesser General Public 25 | License along with this library; see the file COPYING.LIB. 26 | If not, see or write to the 27 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 28 | Boston, MA 02110-1301, USA. 29 | */ 30 | 31 | #ifndef CAIROFACEINFO_H 32 | #define CAIROFACEINFO_H 33 | 34 | #include "fontconfig/FCFaceInfo.h" 35 | #define id cairo_id 36 | #include 37 | #undef id 38 | 39 | @interface CairoFaceInfo : FCFaceInfo 40 | { 41 | cairo_font_face_t *_fontFace; 42 | } 43 | 44 | - (void *)fontFace; 45 | 46 | @end 47 | #endif 48 | -------------------------------------------------------------------------------- /Source/headless/HeadlessContext.m: -------------------------------------------------------------------------------- 1 | /* 2 | HeadlessContext.m 3 | 4 | Copyright (C) 2003, 2023 Free Software Foundation, Inc. 5 | 6 | This library is free software; you can redistribute it and/or 7 | modify it under the terms of the GNU Lesser General Public 8 | License as published by the Free Software Foundation; either 9 | version 2 of the License, or (at your option) any later version. 10 | 11 | This library is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | Lesser General Public License for more details. 15 | 16 | You should have received a copy of the GNU Lesser General Public 17 | License along with this library; see the file COPYING.LIB. 18 | If not, see or write to the 19 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 20 | Boston, MA 02110-1301, USA. 21 | */ 22 | 23 | #include "config.h" 24 | 25 | #include "headless/HeadlessContext.h" 26 | #include "headless/HeadlessFontInfo.h" 27 | #include "headless/HeadlessFontEnumerator.h" 28 | #include "headless/HeadlessGState.h" 29 | 30 | @implementation HeadlessContext 31 | 32 | + (void) initializeBackend 33 | { 34 | [NSGraphicsContext setDefaultContextClass: self]; 35 | 36 | [GSFontEnumerator setDefaultClass: [HeadlessFontEnumerator class]]; 37 | [GSFontInfo setDefaultClass: [HeadlessFontInfo class]]; 38 | } 39 | 40 | + (Class) GStateClass 41 | { 42 | return [HeadlessGState class]; 43 | } 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /Headers/cairo/CairoSurface.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2002 Free Software Foundation, Inc. 3 | 4 | Author: Banlu Kemiyatorn 5 | 6 | This file is part of GNUstep. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General Public 19 | License along with this library; see the file COPYING.LIB. 20 | If not, see or write to the 21 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 22 | Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | #ifndef CairoSurface_h 26 | #define CairoSurface_h 27 | 28 | #include 29 | #include 30 | 31 | @interface CairoSurface : NSObject 32 | { 33 | @public 34 | void *gsDevice; 35 | cairo_surface_t *_surface; 36 | } 37 | 38 | - (id) initWithDevice: (void *)device; 39 | 40 | - (NSSize) size; 41 | - (void) setSize: (NSSize)newSize; 42 | 43 | - (cairo_surface_t *) surface; 44 | 45 | - (void) handleExposeRect: (NSRect)rect; 46 | 47 | - (BOOL) isDrawingToScreen; 48 | 49 | @end 50 | 51 | #endif 52 | 53 | -------------------------------------------------------------------------------- /Headers/fontconfig/FCFontInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | FCFontInfo.h 3 | 4 | Copyright (C) 2003 Free Software Foundation, Inc. 5 | 6 | August 31, 2003 7 | Written by Banlu Kemiyatorn 8 | 9 | This file is part of GNUstep. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #ifndef FCFontInfo_h 29 | #define FCFontInfo_h 30 | 31 | #include 32 | #include "fontconfig/FCFaceInfo.h" 33 | 34 | @interface FCFontInfo : GSFontInfo 35 | { 36 | @public 37 | FCFaceInfo *_faceInfo; 38 | BOOL _screenFont; 39 | CGFloat lineHeight; 40 | 41 | unsigned int _cacheSize; 42 | unsigned int *_cachedGlyphs; 43 | NSSize *_cachedSizes; 44 | } 45 | 46 | - (void) setCacheSize:(unsigned int)size; 47 | - (BOOL) setupAttributes; 48 | @end 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /Documentation/Back/GNUmakefile: -------------------------------------------------------------------------------- 1 | # 2 | # Gui gsdoc makefile for the GNUstep Back Library 3 | # Copyright (C) 2000 Free Software Foundation, Inc. 4 | # 5 | # Written by: Adam Fedor 6 | # 7 | # This file is part of the GNUstep Back Library. 8 | # 9 | # This library is free software; you can redistribute it and/or 10 | # modify it under the terms of the GNU Lesser General Public 11 | # License as published by the Free Software Foundation; either 12 | # version 2 of the License, or (at your option) any later version. 13 | # 14 | # This library is distributed in the hope that it will be useful, 15 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | # Lesser General Public License for more details. 18 | # 19 | # You should have received a copy of the GNU Lesser General Public 20 | # License along with this library; see the file COPYING.LIB. 21 | # If not, see or write to the 22 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 23 | # Boston, MA 02110-1301, USA. 24 | 25 | PACKAGE_NAME = gnustep-back 26 | include $(GNUSTEP_MAKEFILES)/common.make 27 | 28 | # The documents to be generated 29 | DOCUMENT_NAME = General 30 | 31 | General_AGSDOC_FILES = \ 32 | Back.gsdoc \ 33 | DefaultsSummary.gsdoc \ 34 | WindowFocus.gsdoc 35 | 36 | General_AGSDOC_FLAGS = \ 37 | -Up Back 38 | 39 | General_DOC_INSTALL_DIR = Developer/Back 40 | 41 | -include GNUmakefile.preamble 42 | 43 | include $(GNUSTEP_MAKEFILES)/documentation.make 44 | 45 | -include GNUmakefile.postamble 46 | -------------------------------------------------------------------------------- /Source/cairo/CairoFontEnumerator.m: -------------------------------------------------------------------------------- 1 | /* 2 | CairoFontEnumerator.m 3 | 4 | Copyright (C) 2003 Free Software Foundation, Inc. 5 | 6 | August 31, 2003 7 | Written by Banlu Kemiyatorn 8 | Base on original code of Alex Malmberg 9 | Rewrite: Fred Kiefer 10 | Date: Jan 2006 11 | 12 | This file is part of GNUstep. 13 | 14 | This library is free software; you can redistribute it and/or 15 | modify it under the terms of the GNU Lesser General Public 16 | License as published by the Free Software Foundation; either 17 | version 2 of the License, or (at your option) any later version. 18 | 19 | This library is distributed in the hope that it will be useful, 20 | but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22 | Lesser General Public License for more details. 23 | 24 | You should have received a copy of the GNU Lesser General Public 25 | License along with this library; see the file COPYING.LIB. 26 | If not, see or write to the 27 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 28 | Boston, MA 02110-1301, USA. 29 | */ 30 | 31 | #include "cairo/CairoFontEnumerator.h" 32 | #include "cairo/CairoFontInfo.h" 33 | 34 | @implementation CairoFontEnumerator 35 | 36 | + (Class) faceInfoClass 37 | { 38 | return [CairoFaceInfo class]; 39 | } 40 | 41 | + (CairoFaceInfo *) fontWithName: (NSString *) name 42 | { 43 | return (CairoFaceInfo *) [super fontWithName: name]; 44 | } 45 | 46 | @end 47 | 48 | -------------------------------------------------------------------------------- /Headers/opal/OpalSurface.h: -------------------------------------------------------------------------------- 1 | /* 2 | OpalSurface.h 3 | 4 | Copyright (C) 2013 Free Software Foundation, Inc. 5 | 6 | Author: Ivan Vucica 7 | Date: June 2013 8 | 9 | This file is part of GNUstep. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #import 29 | #import 30 | 31 | @interface OpalSurface : NSObject 32 | { 33 | struct _gswindow_device_t * _gsWindowDevice; 34 | CGContextRef _backingCGContext; 35 | CGContextRef _x11CGContext; 36 | } 37 | 38 | - (id) initWithDevice: (void *)device context: (CGContextRef)ctx; 39 | - (void *)device; 40 | - (CGContextRef) CGContext; 41 | - (NSSize) size; 42 | 43 | - (CGContextRef) backingCGContext; 44 | - (CGContextRef) x11CGContext; 45 | - (void) handleExposeRect: (NSRect)rect; 46 | - (BOOL) isDrawingToScreen; 47 | @end 48 | -------------------------------------------------------------------------------- /Source/wayland/README.md: -------------------------------------------------------------------------------- 1 | # Wayland backend for GNUstep 2 | 3 | This directory (along with `Headers/wayland/`, and a file in `Source/cairo/` 4 | and `Headers/cairo`) contains the Wayland backend for GNUstep GUI. This 5 | display server backend depends on Cairo graphics backend; it will currently 6 | not work with any other combination. 7 | 8 | As of April 2020, it is incomplete and broken. Help getting it functional will 9 | be appreciated. 10 | 11 | ## Known issues 12 | 13 | Last updated 25 April 2020: 14 | 15 | * Under Weston, some backing Cairo surfaces, which should not be visible in 16 | the compositor, are nonetheless drawn randomly onto the screen. 17 | * Backing view surfaces may never get blitted onto the main window. 18 | * After a while, Weston assumes that the application is not responding (there 19 | is a spinner when hovering over the windows, and the surfaces can be 20 | rotated by holding the right mouse button). Some events still get 21 | delivered, visible in the debug output, but otherwise the application 22 | appears frozen. 23 | 24 | ## Use on Debian 25 | 26 | As of April 2020, it requires the stable XDG Shell protocol to be available in 27 | the compositor you may be using. Weston included in Debian buster does _not_ 28 | include the stable XDG Shell protocol; this was only checked into Weston in 29 | February 2019, and seemingly released with Weston 6, which does not ship in 30 | Debian buster. 31 | 32 | ## Regenerating protocol files 33 | 34 | To regenerate protocol sources from protocol IDLs in XML format, please use 35 | `wayland-regenerate.sh`. Paths to the XML files are hardcoded to the values on 36 | a Debian testing system. 37 | 38 | -------------------------------------------------------------------------------- /Headers/winlib/WIN32FontInfo.h: -------------------------------------------------------------------------------- 1 | /* Win32FontInfo - Implements font enumerator for MSWindows 2 | 3 | Copyright (C) 2002 Free Software Foundation, Inc. 4 | 5 | Written by: Fred Kiefer 6 | Date: March 2002 7 | 8 | This file is part of the GNU Objective C User Interface Library. 9 | 10 | This library is free software; you can redistribute it and/or 11 | modify it under the terms of the GNU Lesser General Public 12 | License as published by the Free Software Foundation; either 13 | version 2 of the License, or (at your option) any later version. 14 | 15 | This library is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | Lesser General Public License for more details. 19 | 20 | You should have received a copy of the GNU Lesser General Public 21 | License along with this library; see the file COPYING.LIB. 22 | If not, see or write to the 23 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | Boston, MA 02110-1301, USA. 25 | */ 26 | 27 | #ifndef _WIN32FontInfo_h_INCLUDE 28 | #define _WIN32FontInfo_h_INCLUDE 29 | 30 | #include "windows.h" 31 | #include "GNUstepGUI/GSFontInfo.h" 32 | 33 | @interface WIN32FontInfo : GSFontInfo 34 | { 35 | HFONT hFont; 36 | } 37 | 38 | - (void) draw: (const char*)s length: (int)len 39 | onDC: (HDC)hdc at: (POINT)p; 40 | - (void) drawGlyphs: (const NSGlyph*)s 41 | length: (int)len 42 | onDC: (HDC)hdc 43 | at: (POINT)p; 44 | @end 45 | 46 | #endif/* _WIN32FontInfo_h_INCLUDE */ 47 | 48 | 49 | -------------------------------------------------------------------------------- /Source/headless/HeadlessFontEnumerator.m: -------------------------------------------------------------------------------- 1 | /* 2 | HeadlessFontEnumerator.m 3 | 4 | Copyright (C) 2003, 2023 Free Software Foundation, Inc. 5 | 6 | Based on work by: Marcian Lytwyn for Keysight 7 | Based on work by: Banlu Kemiyatorn 8 | Based on work by: Alex Malmberg 9 | Based on work by: Fred Kiefer 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #include "headless/HeadlessFontEnumerator.h" 29 | #include "headless/HeadlessFontInfo.h" 30 | 31 | @implementation HeadlessFontEnumerator 32 | 33 | + (Class) faceInfoClass 34 | { 35 | return [HeadlessFaceInfo class]; 36 | } 37 | 38 | + (HeadlessFaceInfo *) fontWithName: (NSString *) name 39 | { 40 | return (HeadlessFaceInfo *) [super fontWithName: name]; 41 | } 42 | 43 | - (void)enumerateFontsAndFamilies 44 | { 45 | } 46 | 47 | @end -------------------------------------------------------------------------------- /Source/gsc/GNUmakefile: -------------------------------------------------------------------------------- 1 | # 2 | # Main makefile for GNUstep Backend generic contexts/gstates 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | PACKAGE_NAME = gnustep-back 27 | GNUSTEP_LOCAL_ADDITIONAL_MAKEFILES=../../back.make 28 | include $(GNUSTEP_MAKEFILES)/common.make 29 | 30 | include ../../config.make 31 | 32 | SUBPROJECT_NAME=gsc 33 | 34 | # The Objective-C source files to be compiled 35 | gsc_OBJC_FILES = \ 36 | GSContext.m \ 37 | GSGState.m \ 38 | GSStreamContext.m \ 39 | GSStreamGState.m \ 40 | GSFunction.m \ 41 | externs.m 42 | 43 | gsc_C_FILES = gscolors.c 44 | 45 | -include GNUmakefile.preamble 46 | 47 | include $(GNUSTEP_MAKEFILES)/subproject.make 48 | 49 | -include GNUmakefile.postamble 50 | 51 | -------------------------------------------------------------------------------- /Source/winlib/GNUmakefile: -------------------------------------------------------------------------------- 1 | # 2 | # Main makefile for GNUstep WIN32 GUI Backend 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Fred Kiefer 7 | # 8 | # This file is part of the GNUstep WIN32 GUI Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | PACKAGE_NAME = gnustep-back 27 | GNUSTEP_LOCAL_ADDITIONAL_MAKEFILES=../../back.make 28 | include $(GNUSTEP_MAKEFILES)/common.make 29 | 30 | include ../../config.make 31 | 32 | SUBPROJECT_NAME=winlib 33 | 34 | # The C source files to be compiled 35 | winlib_C_FILES = 36 | 37 | # The Objective-C source files to be compiled 38 | winlib_OBJC_FILES = \ 39 | WIN32Context.m \ 40 | WIN32GState.m \ 41 | WIN32FontEnumerator.m \ 42 | WIN32FontInfo.m 43 | 44 | -include GNUmakefile.preamble 45 | 46 | include $(GNUSTEP_MAKEFILES)/subproject.make 47 | 48 | -include GNUmakefile.postamble 49 | -------------------------------------------------------------------------------- /Source/headless/GNUmakefile: -------------------------------------------------------------------------------- 1 | # 2 | # Main makefile for GNUstep Headless Backend 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | 25 | PACKAGE_NAME = gnustep-back 26 | GNUSTEP_LOCAL_ADDITIONAL_MAKEFILES=../../back.make 27 | 28 | include $(GNUSTEP_MAKEFILES)/common.make 29 | 30 | include ../../config.make 31 | 32 | # The library to be compiled, as a library or as a bundle 33 | SUBPROJECT_NAME=headless 34 | 35 | # The Objective-C source files to be compiled 36 | headless_OBJC_FILES = \ 37 | HeadlessContext.m \ 38 | HeadlessServer.m \ 39 | HeadlessFontInfo.m \ 40 | HeadlessFontEnumerator.m \ 41 | HeadlessFaceInfo.m \ 42 | HeadlessGState.m 43 | 44 | -include GNUmakefile.preamble 45 | 46 | include $(GNUSTEP_MAKEFILES)/subproject.make 47 | 48 | -include GNUmakefile.postamble -------------------------------------------------------------------------------- /Headers/opal/OpalFontInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | OpalFontInfo.h 3 | 4 | Copyright (C) 2013 Free Software Foundation, Inc. 5 | 6 | Author: Ivan Vucica 7 | Date: June 2013 8 | 9 | This file is part of GNUstep. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #ifndef OpalFontInfo_h_defined 29 | #define OpalFontInfo_h_defined 30 | 31 | #include "fontconfig/FCFontInfo.h" 32 | #include "opal/OpalFaceInfo.h" 33 | #if 0 34 | #include 35 | #endif 36 | @interface OpalFontInfo : FCFontInfo 37 | { 38 | @public 39 | #if 0 40 | cairo_scaled_font_t *_scaled; 41 | #endif 42 | } 43 | /* 44 | - (id) initWithFontName: (NSString *)name 45 | matrix: (const CGFloat *)fmatrix 46 | screenFont: (BOOL)p_screenFont; 47 | */ 48 | #if 0 49 | - (void) drawGlyphs: (const NSGlyph*)glyphs 50 | length: (int)length 51 | on: (cairo_t*)ct; 52 | #endif 53 | @end 54 | 55 | #endif 56 | 57 | 58 | -------------------------------------------------------------------------------- /Source/art/GNUmakefile: -------------------------------------------------------------------------------- 1 | # 2 | # Main makefile for back-art 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Alexander Malmberg 7 | # Original author: Adam Fedor 8 | # 9 | # This file is part of the GNUstep Backend. 10 | # 11 | # This library is free software; you can redistribute it and/or 12 | # modify it under the terms of the GNU Lesser General Public 13 | # License as published by the Free Software Foundation; either 14 | # version 2 of the License, or (at your option) any later version. 15 | # 16 | # This library is distributed in the hope that it will be useful, 17 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | # Lesser General Public License for more details. 20 | # 21 | # You should have received a copy of the GNU Lesser General Public 22 | # License along with this library; see the file COPYING.LIB. 23 | # If not, see or write to the 24 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | # Boston, MA 02110-1301, USA. 26 | 27 | PACKAGE_NAME = gnustep-back 28 | GNUSTEP_LOCAL_ADDITIONAL_MAKEFILES=../../back.make 29 | include $(GNUSTEP_MAKEFILES)/common.make 30 | 31 | include ../../config.make 32 | 33 | SUBPROJECT_NAME=art 34 | 35 | # The Objective-C source files to be compiled 36 | art_OBJC_FILES = \ 37 | ARTContext.m \ 38 | ARTGState.m \ 39 | blit-main.m \ 40 | ftfont.m \ 41 | FTFontEnumerator.m \ 42 | FTFaceInfo.m \ 43 | image.m \ 44 | composite.m \ 45 | path.m \ 46 | shfill.m \ 47 | ReadRect.m 48 | 49 | -include GNUmakefile.preamble 50 | 51 | include $(GNUSTEP_MAKEFILES)/subproject.make 52 | 53 | -include GNUmakefile.postamble 54 | 55 | -------------------------------------------------------------------------------- /Source/opal/OpalFaceInfo.m: -------------------------------------------------------------------------------- 1 | /* 2 | OpalFaceInfo.m 3 | 4 | Copyright (C) 2013 Free Software Foundation, Inc. 5 | 6 | Author: Ivan Vucica 7 | Date: September 2013 8 | 9 | This file is part of GNUstep. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #import "opal/OpalFaceInfo.h" 29 | 30 | @implementation OpalFaceInfo 31 | 32 | - (void) dealloc 33 | { 34 | if (_fontFace) 35 | { 36 | CGFontRelease(_fontFace); 37 | } 38 | [super dealloc]; 39 | } 40 | 41 | - (void *)fontFace 42 | { 43 | if (!_fontFace) 44 | { 45 | FcPattern *resolved; 46 | 47 | resolved = [self matchedPattern]; 48 | 49 | _fontFace = OPFontCreateWithFcPattern(resolved); 50 | FcPatternDestroy(resolved); 51 | 52 | if (!_fontFace) 53 | { 54 | NSLog(@"Creating a font face failed %@", _familyName); 55 | return NULL; 56 | } 57 | } 58 | 59 | return _fontFace; 60 | } 61 | 62 | @end 63 | -------------------------------------------------------------------------------- /back.make.in: -------------------------------------------------------------------------------- 1 | # -*-makefile-*- 2 | # back.make 3 | # 4 | # Makefile flags and configs to build with the back library. 5 | # 6 | # Copyright (C) 2001 Free Software Foundation, Inc. 7 | # 8 | # Author: Nicola Pero 9 | # Based on code originally in the gnustep make package 10 | # 11 | # This file is part of the GNUstep Back Library. 12 | # 13 | # This library is free software; you can redistribute it and/or 14 | # modify it under the terms of the GNU Lesser General Public 15 | # License as published by the Free Software Foundation; either 16 | # version 2 of the License, or (at your option) any later version. 17 | # 18 | # This library is distributed in the hope that it will be useful, 19 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 | # Lesser General Public License for more details. 22 | # 23 | # You should have received a copy of the GNU Lesser General Public 24 | # License along with this library; see the file COPYING.LIB. 25 | # If not, see or write to the 26 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 27 | # Boston, MA 02110-1301, USA. 28 | 29 | ifeq ($(BACK_MAKE_LOADED),) 30 | BACK_MAKE_LOADED=yes 31 | 32 | ifeq ($(BACKEND_BUNDLE),) 33 | GRAPHIC_LIBS=@LIBS@ 34 | GRAPHIC_CFLAGS=@CPPFLAGS@ 35 | GRAPHIC_LFLAGS=@LDFLAGS@ 36 | X_PRE_LIBS=@X_PRE_LIBS@ 37 | 38 | BACKEND_LDFLAGS = 39 | BACKEND_LIBS = -lgnustep-@BACKEND_NAME@ 40 | BACKEND_DEFINE = -DBACKEND_LIBRARY=1 -D@BACKEND_NAME@_BACKEND_LIBRARY=1 41 | 42 | SYSTEM_INCLUDES = $(CONFIG_SYSTEM_INCL) $(GRAPHIC_CFLAGS) 43 | SYSTEM_LDFLAGS = 44 | SYSTEM_LIB_DIR = $(GRAPHIC_LFLAGS) 45 | SYSTEM_LIBS = $(GRAPHIC_LIBS) 46 | endif 47 | 48 | endif # BACK_MAKE_LOADED 49 | 50 | 51 | -------------------------------------------------------------------------------- /Headers/cairo/WaylandCairoShmSurface.h: -------------------------------------------------------------------------------- 1 | /* 2 | WaylandCairoShmSurface.h 3 | 4 | Copyright (C) 2020 Free Software Foundation, Inc. 5 | 6 | Author: Sergio L. Pascual 7 | Date: February 2016 8 | 9 | This file is part of GNUstep. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #ifndef WaylandCairoShmSurface_h 29 | #define WaylandCairoShmSurface_h 30 | 31 | #include "cairo/CairoSurface.h" 32 | 33 | struct pool_buffer 34 | { 35 | int poolfd; 36 | struct wl_shm_pool *pool; 37 | struct wl_buffer *buffer; 38 | cairo_surface_t *surface; 39 | uint32_t width; 40 | uint32_t height; 41 | void *data; 42 | size_t size; 43 | bool busy; 44 | }; 45 | 46 | struct pool_buffer * 47 | createShmBuffer(int width, int height, struct wl_shm *shm); 48 | 49 | @interface WaylandCairoShmSurface : CairoSurface 50 | { 51 | struct pool_buffer *pbuffer; 52 | } 53 | - (void) destroySurface; 54 | @end 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /Source/gsc/GNUmakefile.preamble: -------------------------------------------------------------------------------- 1 | # 2 | # GNUmakefile.preamble 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | # 27 | # Flags dealing with compiling and linking 28 | # 29 | 30 | # Additional flags to pass to the preprocessor 31 | ADDITIONAL_CPPFLAGS += -Wall $(CONFIG_SYSTEM_DEFS) 32 | 33 | # Additional flags to pass to the Objective-C compiler 34 | #ADDITIONAL_OBJCFLAGS = 35 | 36 | # Additional flags to pass to the C compiler 37 | #ADDITIONAL_CFLAGS = 38 | 39 | # Additional include directories the compiler should search 40 | ADDITIONAL_INCLUDE_DIRS += -I../../Headers -I../$(GNUSTEP_TARGET_DIR) 41 | 42 | # Additional LDFLAGS to pass to the linker 43 | #ADDITIONAL_LDFLAGS = 44 | 45 | # Additional library directories the linker should search 46 | #ADDITIONAL_LIB_DIRS = 47 | 48 | # 49 | # Flags dealing with installing and uninstalling 50 | # 51 | 52 | 53 | -------------------------------------------------------------------------------- /Source/headless/GNUmakefile.preamble: -------------------------------------------------------------------------------- 1 | # 2 | # GNUmakefile.preamble 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | # 27 | # Flags dealing with compiling and linking 28 | # 29 | 30 | # Additional flags to pass to the preprocessor 31 | ADDITIONAL_CPPFLAGS += -Wall $(CONFIG_SYSTEM_DEFS) 32 | 33 | # Additional flags to pass to the Objective-C compiler 34 | ADDITIONAL_OBJCFLAGS = 35 | 36 | # Additional flags to pass to the C compiler 37 | ADDITIONAL_CFLAGS = 38 | 39 | # Additional include directories the compiler should search 40 | ADDITIONAL_INCLUDE_DIRS += -I../../Headers \ 41 | -I../$(GNUSTEP_TARGET_DIR) $(GRAPHIC_CFLAGS) 42 | 43 | # Additional LDFLAGS to pass to the linker 44 | ADDITIONAL_LDFLAGS = 45 | 46 | # Additional library directories the linker should search 47 | ADDITIONAL_LIB_DIRS = 48 | 49 | # 50 | # Flags dealing with installing and uninstalling 51 | # 52 | -------------------------------------------------------------------------------- /Source/xdps/GNUmakefile: -------------------------------------------------------------------------------- 1 | # 2 | # Main makefile for GNUstep Backend xdps 3 | # 4 | # Copyright (C) 1997 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | PACKAGE_NAME = gnustep-back 27 | GNUSTEP_LOCAL_ADDITIONAL_MAKEFILES=../../back.make 28 | include $(GNUSTEP_MAKEFILES)/common.make 29 | 30 | include ../../config.make 31 | 32 | SUBPROJECT_NAME=xdps 33 | 34 | # The pswrap source files to be compiled 35 | xdps_PSWRAP_FILES = \ 36 | general.psw \ 37 | drawingfuncs.psw \ 38 | extensions.psw \ 39 | fonts.psw 40 | 41 | # The C source files to be compiled 42 | xdps_C_FILES = \ 43 | parseAFM.c 44 | 45 | # The Objective-C source files to be compiled 46 | xdps_OBJC_FILES = \ 47 | AFMFileFontInfo.m \ 48 | NSDPSContext.m \ 49 | NSDPSContextOps.m \ 50 | PXKFontManager.m 51 | 52 | -include GNUmakefile.preamble 53 | 54 | include $(GNUSTEP_MAKEFILES)/subproject.make 55 | 56 | -include GNUmakefile.postamble 57 | 58 | -------------------------------------------------------------------------------- /Source/art/GNUmakefile.preamble: -------------------------------------------------------------------------------- 1 | # 2 | # GNUmakefile.preamble 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | # 27 | # Flags dealing with compiling and linking 28 | # 29 | 30 | # Additional flags to pass to the preprocessor 31 | ADDITIONAL_CPPFLAGS += -Wall $(CONFIG_SYSTEM_DEFS) 32 | 33 | # Additional flags to pass to the Objective-C compiler 34 | #ADDITIONAL_OBJCFLAGS = 35 | 36 | # Additional flags to pass to the C compiler 37 | #ADDITIONAL_CFLAGS = 38 | 39 | # Additional include directories the compiler should search 40 | ADDITIONAL_INCLUDE_DIRS += -I../../Headers \ 41 | -I../$(GNUSTEP_TARGET_DIR) $(GRAPHIC_CFLAGS) \ 42 | 43 | # Additional LDFLAGS to pass to the linker 44 | #ADDITIONAL_LDFLAGS = 45 | 46 | # Additional library directories the linker should search 47 | #ADDITIONAL_LIB_DIRS = 48 | 49 | # 50 | # Flags dealing with installing and uninstalling 51 | # 52 | 53 | -------------------------------------------------------------------------------- /Source/opal/GNUmakefile.preamble: -------------------------------------------------------------------------------- 1 | # 2 | # GNUmakefile.preamble 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | # 27 | # Flags dealing with compiling and linking 28 | # 29 | 30 | # Additional flags to pass to the preprocessor 31 | ADDITIONAL_CPPFLAGS += -Wall $(CONFIG_SYSTEM_DEFS) 32 | 33 | # Additional flags to pass to the Objective-C compiler 34 | #ADDITIONAL_OBJCFLAGS = 35 | 36 | # Additional flags to pass to the C compiler 37 | #ADDITIONAL_CFLAGS = 38 | 39 | # Additional include directories the compiler should search 40 | ADDITIONAL_INCLUDE_DIRS = -I../../Headers \ 41 | -I../$(GNUSTEP_TARGET_DIR) $(GRAPHIC_CFLAGS) \ 42 | 43 | # Additional LDFLAGS to pass to the linker 44 | #ADDITIONAL_LDFLAGS = 45 | 46 | # Additional library directories the linker should search 47 | #ADDITIONAL_LIB_DIRS = 48 | 49 | # 50 | # Flags dealing with installing and uninstalling 51 | # 52 | 53 | -------------------------------------------------------------------------------- /Source/x11/GNUmakefile.preamble: -------------------------------------------------------------------------------- 1 | # 2 | # GNUmakefile.preamble 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | # 27 | # Flags dealing with compiling and linking 28 | # 29 | 30 | # Additional flags to pass to the preprocessor 31 | ADDITIONAL_CPPFLAGS += -Wall $(CONFIG_SYSTEM_DEFS) 32 | 33 | # Additional flags to pass to the Objective-C compiler 34 | ADDITIONAL_OBJCFLAGS = 35 | 36 | # Additional flags to pass to the C compiler 37 | ADDITIONAL_CFLAGS = 38 | 39 | # Additional include directories the compiler should search 40 | ADDITIONAL_INCLUDE_DIRS += -I../../Headers \ 41 | -I../$(GNUSTEP_TARGET_DIR) $(GRAPHIC_CFLAGS) 42 | 43 | # Additional LDFLAGS to pass to the linker 44 | ADDITIONAL_LDFLAGS = 45 | 46 | # Additional library directories the linker should search 47 | ADDITIONAL_LIB_DIRS = 48 | 49 | # 50 | # Flags dealing with installing and uninstalling 51 | # 52 | 53 | 54 | -------------------------------------------------------------------------------- /Source/cairo/GNUmakefile.preamble: -------------------------------------------------------------------------------- 1 | # 2 | # GNUmakefile.preamble 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | # 27 | # Flags dealing with compiling and linking 28 | # 29 | 30 | # Additional flags to pass to the preprocessor 31 | ADDITIONAL_CPPFLAGS += -Wall $(CONFIG_SYSTEM_DEFS) 32 | 33 | # Additional flags to pass to the Objective-C compiler 34 | #ADDITIONAL_OBJCFLAGS = 35 | 36 | # Additional flags to pass to the C compiler 37 | #ADDITIONAL_CFLAGS = 38 | 39 | # Additional include directories the compiler should search 40 | ADDITIONAL_INCLUDE_DIRS = -I../../Headers \ 41 | -I../$(GNUSTEP_TARGET_DIR) $(GRAPHIC_CFLAGS) \ 42 | 43 | # Additional LDFLAGS to pass to the linker 44 | #ADDITIONAL_LDFLAGS = 45 | 46 | # Additional library directories the linker should search 47 | #ADDITIONAL_LIB_DIRS = 48 | 49 | # 50 | # Flags dealing with installing and uninstalling 51 | # 52 | 53 | -------------------------------------------------------------------------------- /Source/xdps/GNUmakefile.preamble: -------------------------------------------------------------------------------- 1 | # 2 | # GNUmakefile.preamble 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | # 27 | # Flags dealing with compiling and linking 28 | # 29 | 30 | # Additional flags to pass to the preprocessor 31 | ADDITIONAL_CPPFLAGS += -Wall $(CONFIG_SYSTEM_DEFS) 32 | 33 | # Additional flags to pass to the Objective-C compiler 34 | #ADDITIONAL_OBJCFLAGS = 35 | 36 | # Additional flags to pass to the C compiler 37 | #ADDITIONAL_CFLAGS = 38 | 39 | # Additional include directories the compiler should search 40 | ADDITIONAL_INCLUDE_DIRS = -I../../Headers \ 41 | -I../$(GNUSTEP_TARGET_DIR) $(GRAPHIC_CFLAGS) 42 | 43 | # Additional LDFLAGS to pass to the linker 44 | ADDITIONAL_LDFLAGS = 45 | 46 | # Additional library directories the linker should search 47 | ADDITIONAL_LIB_DIRS = 48 | 49 | # 50 | # Flags dealing with installing and uninstalling 51 | # 52 | 53 | 54 | -------------------------------------------------------------------------------- /Source/xlib/GNUmakefile.preamble: -------------------------------------------------------------------------------- 1 | # 2 | # GNUmakefile.preamble 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | # 27 | # Flags dealing with compiling and linking 28 | # 29 | 30 | # Additional flags to pass to the preprocessor 31 | ADDITIONAL_CPPFLAGS += -Wall $(CONFIG_SYSTEM_DEFS) 32 | 33 | # Additional flags to pass to the Objective-C compiler 34 | #ADDITIONAL_OBJCFLAGS = 35 | 36 | # Additional flags to pass to the C compiler 37 | #ADDITIONAL_CFLAGS = 38 | 39 | # Additional include directories the compiler should search 40 | ADDITIONAL_INCLUDE_DIRS = -I../../Headers \ 41 | -I../$(GNUSTEP_TARGET_DIR) $(GRAPHIC_CFLAGS) 42 | 43 | # Additional LDFLAGS to pass to the linker 44 | ADDITIONAL_LDFLAGS = 45 | 46 | # Additional library directories the linker should search 47 | ADDITIONAL_LIB_DIRS = 48 | 49 | # 50 | # Flags dealing with installing and uninstalling 51 | # 52 | 53 | 54 | -------------------------------------------------------------------------------- /Source/win32/GNUmakefile.preamble: -------------------------------------------------------------------------------- 1 | 2 | # GNUmakefile.preamble 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | # 27 | # Flags dealing with compiling and linking 28 | # 29 | 30 | # Additional flags to pass to the preprocessor 31 | ADDITIONAL_CPPFLAGS += -Wall $(CONFIG_SYSTEM_DEFS) 32 | 33 | # Additional flags to pass to the Objective-C compiler 34 | ADDITIONAL_OBJCFLAGS = -DWINVER=0x0500 35 | 36 | # Additional flags to pass to the C compiler 37 | ADDITIONAL_CFLAGS = -DWINVER=0x0500 38 | 39 | # Additional include directories the compiler should search 40 | ADDITIONAL_INCLUDE_DIRS += -I../../Headers \ 41 | -I../$(GNUSTEP_TARGET_DIR) $(GRAPHIC_CFLAGS) 42 | 43 | # Additional LDFLAGS to pass to the linker 44 | ADDITIONAL_LDFLAGS = 45 | 46 | # Additional library directories the linker should search 47 | ADDITIONAL_LIB_DIRS = 48 | 49 | # 50 | # Flags dealing with installing and uninstalling 51 | # 52 | -------------------------------------------------------------------------------- /Source/win32/GNUmakefile: -------------------------------------------------------------------------------- 1 | # 2 | # Main makefile for GNUstep Backend win32 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | PACKAGE_NAME = gnustep-back 27 | GNUSTEP_LOCAL_ADDITIONAL_MAKEFILES=../../back.make 28 | 29 | include $(GNUSTEP_MAKEFILES)/common.make 30 | 31 | include ../../config.make 32 | 33 | # The library to be compiled, as a library or as a bundle 34 | SUBPROJECT_NAME=win32 35 | 36 | win32_LOCALIZED_RESOURCE_FILES = \ 37 | 38 | # The C source files to be compiled 39 | win32_C_FILES = \ 40 | 41 | # The Objective-C source files to be compiled 42 | win32_OBJC_FILES = \ 43 | WIN32Server.m \ 44 | w32_activate.m \ 45 | w32_create.m \ 46 | w32_general.m \ 47 | w32_movesize.m \ 48 | w32_text_focus.m \ 49 | w32_windowdisplay.m \ 50 | w32_GLformat.m \ 51 | w32_GLcontext.m \ 52 | 53 | -include GNUmakefile.preamble 54 | 55 | include $(GNUSTEP_MAKEFILES)/subproject.make 56 | 57 | -include GNUmakefile.postamble 58 | -------------------------------------------------------------------------------- /Source/xlib/GNUmakefile: -------------------------------------------------------------------------------- 1 | # 2 | # Main makefile for GNUstep Backend xlib 3 | # 4 | # Copyright (C) 1997 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | PACKAGE_NAME = gnustep-back 27 | GNUSTEP_LOCAL_ADDITIONAL_MAKEFILES=../../back.make 28 | include $(GNUSTEP_MAKEFILES)/common.make 29 | 30 | include ../../config.make 31 | 32 | SUBPROJECT_NAME=xlib 33 | 34 | # The Objective-C source files to be compiled 35 | xlib_OBJC_FILES = \ 36 | XGBitmap.m \ 37 | XGCommonFont.m \ 38 | XGFont.m \ 39 | XGFontManager.m \ 40 | XGContext.m \ 41 | XGGState.m \ 42 | XGGeometry.m \ 43 | XGFontSetFontInfo.m \ 44 | linking.m 45 | 46 | ifeq ($(WITH_XFT),yes) 47 | xlib_OBJC_FILES += GSXftFontInfo.m \ 48 | ../fontconfig/FCFontInfo.m \ 49 | ../fontconfig/FCFontEnumerator.m \ 50 | ../fontconfig/FCFaceInfo.m 51 | endif 52 | 53 | -include GNUmakefile.preamble 54 | 55 | include $(GNUSTEP_MAKEFILES)/subproject.make 56 | 57 | -include GNUmakefile.postamble 58 | 59 | -------------------------------------------------------------------------------- /Source/wayland/GNUmakefile.preamble: -------------------------------------------------------------------------------- 1 | # 2 | # GNUmakefile.preamble 3 | # 4 | # Copyright (C) 2020 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # Author: Sergio L. Pascual 8 | # 9 | # This file is part of the GNUstep Backend. 10 | # 11 | # This library is free software; you can redistribute it and/or 12 | # modify it under the terms of the GNU Lesser General Public 13 | # License as published by the Free Software Foundation; either 14 | # version 2 of the License, or (at your option) any later version. 15 | # 16 | # This library is distributed in the hope that it will be useful, 17 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | # Lesser General Public License for more details. 20 | # 21 | # You should have received a copy of the GNU Lesser General Public 22 | # License along with this library; see the file COPYING.LIB. 23 | # If not, see or write to the 24 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | # Boston, MA 02110-1301, USA. 26 | 27 | # 28 | # Flags dealing with compiling and linking 29 | # 30 | 31 | # Additional flags to pass to the preprocessor 32 | ADDITIONAL_CPPFLAGS += -Wall $(CONFIG_SYSTEM_DEFS) 33 | 34 | # Additional flags to pass to the Objective-C compiler 35 | ADDITIONAL_OBJCFLAGS = 36 | 37 | # Additional flags to pass to the C compiler 38 | ADDITIONAL_CFLAGS = 39 | 40 | # Additional include directories the compiler should search 41 | ADDITIONAL_INCLUDE_DIRS += -I../../Headers \ 42 | -I../$(GNUSTEP_TARGET_DIR) $(GRAPHIC_CFLAGS) 43 | 44 | # Additional LDFLAGS to pass to the linker 45 | ADDITIONAL_LDFLAGS = 46 | 47 | # Additional library directories the linker should search 48 | ADDITIONAL_LIB_DIRS = 49 | 50 | # 51 | # Flags dealing with installing and uninstalling 52 | # 53 | -------------------------------------------------------------------------------- /Headers/gsc/gscolors.h: -------------------------------------------------------------------------------- 1 | /* gscolors - Color conversion routines 2 | 3 | Copyright (C) 1995 Free Software Foundation, Inc. 4 | 5 | Written by: Adam Fedor 6 | Date: Nov 1994 7 | 8 | This file is part of the GNU Objective C User Interface Library. 9 | 10 | This library is free software; you can redistribute it and/or 11 | modify it under the terms of the GNU Lesser General Public 12 | License as published by the Free Software Foundation; either 13 | version 2 of the License, or (at your option) any later version. 14 | 15 | This library is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | Lesser General Public License for more details. 19 | 20 | You should have received a copy of the GNU Lesser General Public 21 | License along with this library; see the file COPYING.LIB. 22 | If not, see or write to the 23 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | Boston, MA 02110-1301, USA. 25 | */ 26 | 27 | #ifndef _gscolors_h_INCLUDE 28 | #define _gscolors_h_INCLUDE 29 | 30 | #define AINDEX 5 31 | 32 | typedef enum { 33 | gray_colorspace, rgb_colorspace, hsb_colorspace, cmyk_colorspace 34 | } device_colorspace_t; 35 | 36 | typedef struct _device_color { 37 | device_colorspace_t space; 38 | float field[6]; 39 | } device_color_t; 40 | 41 | /* Internal conversion of colors to pixels values */ 42 | extern void gsMakeColor(device_color_t *dst, device_colorspace_t space, 43 | float a, float b, float c, float d); 44 | extern void gsColorToRGB(device_color_t *color); 45 | extern void gsColorToGray(device_color_t *color); 46 | extern void gsColorToCMYK(device_color_t *color); 47 | extern void gsColorToHSB(device_color_t *color); 48 | 49 | #endif 50 | 51 | 52 | -------------------------------------------------------------------------------- /Headers/win32/WIN32OpenGL.h: -------------------------------------------------------------------------------- 1 | /* -*-ObjC-*- */ 2 | /* Win32OpenGL - openGL management using wgl 3 | 4 | Copyright (C) 2002 Free Software Foundation, Inc. 5 | 6 | Author: Xavier Glattard 7 | Date: Jan 2007 8 | 9 | This file is part of the GNUstep GUI Library. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #ifndef _GNUstep_H_WIN32OpenGL 29 | #define _GNUstep_H_WIN32OpenGL 30 | 31 | #include 32 | 33 | #define id _gs_avoid_id_collision 34 | #define BOOL WINDOWSBOOL 35 | #include 36 | #undef id 37 | #undef BOOL 38 | 39 | @class NSView; 40 | @class Win32Subwindow; 41 | @class Win32GLPixelFormat; 42 | 43 | @interface Win32GLContext : NSOpenGLContext 44 | { 45 | @public 46 | HGLRC wgl_context; 47 | Win32Subwindow *wsubwin; 48 | Win32GLPixelFormat *format; 49 | BOOL saved_ignores_backing; 50 | } 51 | @end 52 | 53 | @interface Win32GLPixelFormat : NSOpenGLPixelFormat 54 | { 55 | @public 56 | PIXELFORMATDESCRIPTOR pfd; 57 | HDC wgl_drawable; 58 | int wgl_pixelformat; 59 | } 60 | - (void) _setDrawable: (HDC) aDrawable; 61 | @end 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /Source/x11/GNUmakefile: -------------------------------------------------------------------------------- 1 | # 2 | # Main makefile for GNUstep Backend x11 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | 25 | PACKAGE_NAME = gnustep-back 26 | GNUSTEP_LOCAL_ADDITIONAL_MAKEFILES=../../back.make 27 | 28 | include $(GNUSTEP_MAKEFILES)/common.make 29 | 30 | include ../../config.make 31 | 32 | # The library to be compiled, as a library or as a bundle 33 | SUBPROJECT_NAME=x11 34 | 35 | # The C source files to be compiled 36 | ifeq ($(WITH_WRASTER),yes) 37 | x11_C_FILES = \ 38 | xdnd.c 39 | else 40 | x11_C_FILES = \ 41 | context.c \ 42 | convert.c \ 43 | raster.c \ 44 | scale.c \ 45 | xdnd.c \ 46 | xutil.c 47 | endif 48 | 49 | # The Objective-C source files to be compiled 50 | x11_OBJC_FILES = \ 51 | XGServer.m \ 52 | XGServerEvent.m \ 53 | XGServerWindow.m \ 54 | XGDragView.m \ 55 | XIMInputServer.m \ 56 | XWindowBuffer.m\ 57 | XGGLFormat.m\ 58 | XGGLContext.m 59 | 60 | -include GNUmakefile.preamble 61 | 62 | include $(GNUSTEP_MAKEFILES)/subproject.make 63 | 64 | -include GNUmakefile.postamble 65 | 66 | -------------------------------------------------------------------------------- /Source/art/FTFaceInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 3 | 4 | Author: Alexander Malmberg 5 | 6 | This file is part of GNUstep. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General Public 19 | License along with this library; see the file COPYING.LIB. 20 | If not, see or write to the 21 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 22 | Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | #ifndef FTFaceInfo_h 26 | #define FTFaceInfo_h 27 | 28 | #include 29 | 30 | @class NSString; 31 | @class NSArray; 32 | 33 | @interface FTFaceInfo : NSObject 34 | { 35 | @public 36 | NSString *familyName; 37 | 38 | /* the following two are localized */ 39 | NSString *faceName; 40 | NSString *displayName; 41 | 42 | NSArray *files; 43 | struct 44 | { 45 | int pixel_size; 46 | NSArray *files; 47 | } *sizes; 48 | int num_sizes; 49 | 50 | int weight; 51 | unsigned int traits; 52 | 53 | /* 54 | hinting hints 55 | 0: 1 to use the auto-hinter 56 | 1: 1 to use hinting 57 | byte 0 and 1 contain hinting hints for un-antialiased and antialiased 58 | rendering, respectively. 59 | 60 | 16: 0=un-antialiased by default, 1=antialiased by default 61 | */ 62 | unsigned int render_hints_hack; 63 | } 64 | 65 | @end 66 | 67 | #endif 68 | -------------------------------------------------------------------------------- /GNUmakefile: -------------------------------------------------------------------------------- 1 | # 2 | # Top level makefile for GNUstep Backend 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | ifeq ($(GNUSTEP_MAKEFILES),) 27 | GNUSTEP_MAKEFILES := $(shell gnustep-config --variable=GNUSTEP_MAKEFILES 2>/dev/null) 28 | endif 29 | 30 | ifeq ($(GNUSTEP_MAKEFILES),) 31 | $(error You need to set GNUSTEP_MAKEFILES before compiling!) 32 | endif 33 | 34 | PACKAGE_NAME = gnustep-back 35 | export PACKAGE_NAME 36 | RPM_DISABLE_RELOCATABLE=YES 37 | PACKAGE_NEEDS_CONFIGURE = YES 38 | 39 | SVN_MODULE_NAME = back 40 | SVN_BASE_URL = svn+ssh://svn.gna.org/svn/gnustep/libs 41 | 42 | GNUSTEP_LOCAL_ADDITIONAL_MAKEFILES=back.make 43 | include $(GNUSTEP_MAKEFILES)/common.make 44 | 45 | include ./Version 46 | 47 | # 48 | # The list of subproject directories 49 | # 50 | SUBPROJECTS = Source Tools 51 | 52 | ifneq ($(fonts), no) 53 | SUBPROJECTS += Fonts 54 | endif 55 | 56 | -include GNUmakefile.preamble 57 | 58 | include $(GNUSTEP_MAKEFILES)/aggregate.make 59 | include $(GNUSTEP_MAKEFILES)/Master/deb.make 60 | 61 | -include GNUmakefile.postamble 62 | -------------------------------------------------------------------------------- /Source/cairo/CairoPDFSurface.m: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2007 Free Software Foundation, Inc. 3 | 4 | Author: Fred Kiefer 5 | 6 | This file is part of GNUstep. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General Public 19 | License along with this library; see the file COPYING.LIB. 20 | If not, see or write to the 21 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 22 | Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | #include "cairo/CairoPDFSurface.h" 26 | #include 27 | 28 | @implementation CairoPDFSurface 29 | 30 | - (id) initWithDevice: (void *)device 31 | { 32 | NSDictionary *info; 33 | NSString *path; 34 | 35 | info = (NSDictionary*)device; 36 | path = [info objectForKey: @"NSOutputFile"]; 37 | 38 | // FIXME: Hard coded size in points 39 | size = NSMakeSize(400, 400); 40 | _surface = cairo_pdf_surface_create([path fileSystemRepresentation], 41 | size.width, size.height); 42 | if (cairo_surface_status(_surface)) 43 | { 44 | DESTROY(self); 45 | } 46 | 47 | return self; 48 | } 49 | 50 | - (NSSize) size 51 | { 52 | return size; 53 | } 54 | 55 | - (void) setSize: (NSSize)newSize 56 | { 57 | size = newSize; 58 | cairo_pdf_surface_set_size(_surface, size.width, size.height); 59 | } 60 | 61 | - (BOOL) isDrawingToScreen 62 | { 63 | return NO; 64 | } 65 | 66 | - (void) writeComment: (NSString *)comment 67 | { 68 | } 69 | 70 | @end 71 | -------------------------------------------------------------------------------- /Source/xdps/general.psw: -------------------------------------------------------------------------------- 1 | /* 2 | general.psw 3 | 4 | Copyright (C) 1996 Free Software Foundation, Inc. 5 | 6 | Author: Ovidiu Predescu 7 | Date: August 1997 8 | 9 | This file is part of the GNUstep GUI X/DPS Library. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 3 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #include 29 | 30 | /* Initialize the graphic context */ 31 | defineps PSWinitcontext (int gc, drawable, x, y) 32 | gc drawable x y setXgcdrawable 33 | initmatrix initclip 34 | gsave initgraphics currenttransfer grestore settransfer 35 | endps 36 | 37 | 38 | defineps PSWGetTransform (DPSContext ctxt | float ctm[6], invctm[6]; 39 | int *XOffset, *YOffset) 40 | matrix currentmatrix dup ctm 41 | matrix invertmatrix invctm 42 | currentXoffset YOffset XOffset 43 | endps 44 | 45 | 46 | defineps PSWConcatMatrix (float matrix[6]) 47 | matrix concat 48 | endps 49 | 50 | defineps PSWSetMatrix (float matrix[6]) 51 | matrix setmatrix 52 | endps 53 | 54 | defineps PSWVersion (| char* versionstr) 55 | version versionstr 56 | endps 57 | 58 | defineps PSWRevision (| int* revstr) 59 | revision revstr 60 | endps 61 | 62 | defineps PSWProduct (| char* productname) 63 | product productname 64 | endps 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /Source/cairo/CairoPSSurface.m: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2007 Free Software Foundation, Inc. 3 | 4 | Author: Fred Kiefer 5 | 6 | This file is part of GNUstep. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General Public 19 | License along with this library; see the file COPYING.LIB. 20 | If not, see or write to the 21 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 22 | Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | #include "cairo/CairoPSSurface.h" 26 | #include 27 | 28 | @implementation CairoPSSurface 29 | 30 | - (id) initWithDevice: (void *)device 31 | { 32 | NSDictionary *info; 33 | NSString *path; 34 | 35 | info = (NSDictionary*)device; 36 | path = [info objectForKey: @"NSOutputFile"]; 37 | 38 | // FIXME: Hard coded size in points 39 | size = NSMakeSize(400, 400); 40 | _surface = cairo_ps_surface_create([path fileSystemRepresentation], size.width, size.height); 41 | if (cairo_surface_status(_surface)) 42 | { 43 | DESTROY(self); 44 | } 45 | 46 | return self; 47 | } 48 | 49 | - (NSSize) size 50 | { 51 | return size; 52 | } 53 | 54 | - (void) setSize: (NSSize)newSize 55 | { 56 | size = newSize; 57 | cairo_ps_surface_set_size(_surface, size.width, size.height); 58 | } 59 | 60 | - (void) writeComment: (NSString *)comment 61 | { 62 | cairo_ps_surface_dsc_comment(_surface, [comment UTF8String]); 63 | } 64 | 65 | - (BOOL) isDrawingToScreen 66 | { 67 | return NO; 68 | } 69 | 70 | @end 71 | -------------------------------------------------------------------------------- /Headers/winlib/WIN32GState.h: -------------------------------------------------------------------------------- 1 | /* WIN32GState - Implements graphic state drawing for MSWindows 2 | 3 | Copyright (C) 2002 Free Software Foundation, Inc. 4 | 5 | Written by: Fred Kiefer 6 | Date: March 2002 7 | 8 | This file is part of the GNU Objective C User Interface Library. 9 | 10 | This library is free software; you can redistribute it and/or 11 | modify it under the terms of the GNU Lesser General Public 12 | License as published by the Free Software Foundation; either 13 | version 2 of the License, or (at your option) any later version. 14 | 15 | This library is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | Lesser General Public License for more details. 19 | 20 | You should have received a copy of the GNU Lesser General Public 21 | License along with this library; see the file COPYING.LIB. 22 | If not, see or write to the 23 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | Boston, MA 02110-1301, USA. 25 | */ 26 | 27 | #ifndef _WIN32GState_h_INCLUDE 28 | #define _WIN32GState_h_INCLUDE 29 | 30 | #include "gsc/GSGState.h" 31 | 32 | #include "windows.h" 33 | 34 | @interface WIN32GState : GSGState 35 | { 36 | @public 37 | HWND window; 38 | COLORREF wfcolor; 39 | COLORREF wscolor; 40 | int joinStyle; 41 | int lineCap; 42 | float lineWidth; 43 | float miterlimit; 44 | HRGN clipRegion; 45 | 46 | HGDIOBJ oldBrush; 47 | HGDIOBJ oldPen; 48 | HRGN oldClipRegion; 49 | XFORM oldWorldTransform; 50 | } 51 | 52 | - (void) setWindow: (HWND)number; 53 | - (HWND) window; 54 | // declared to fix conflicting type with super class warning during compile 55 | - (void) compositeGState: (WIN32GState *) source 56 | fromRect: (NSRect) sourceRect 57 | toPoint: (NSPoint) destPoint 58 | op: (NSCompositingOperation) op 59 | fraction: (float)delta; 60 | 61 | @end 62 | 63 | #endif /* _WIN32GState_h_INCLUDE */ 64 | -------------------------------------------------------------------------------- /Source/wayland/GNUmakefile: -------------------------------------------------------------------------------- 1 | # 2 | # Main makefile for GNUstep Backend wayland 3 | # 4 | # Copyright (C) 2020 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # Author: Sergio L. Pascual 8 | # Author: Ladislav Michl 9 | # 10 | # This file is part of the GNUstep Backend. 11 | # 12 | # This library is free software; you can redistribute it and/or 13 | # modify it under the terms of the GNU Lesser General Public 14 | # License as published by the Free Software Foundation; either 15 | # version 2 of the License, or (at your option) any later version. 16 | # 17 | # This library is distributed in the hope that it will be useful, 18 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | # Lesser General Public License for more details. 21 | # 22 | # You should have received a copy of the GNU Lesser General Public 23 | # License along with this library; see the file COPYING.LIB. 24 | # If not, see or write to the 25 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 26 | # Boston, MA 02110-1301, USA. 27 | 28 | PACKAGE_NAME = gnustep-back 29 | GNUSTEP_LOCAL_ADDITIONAL_MAKEFILES=../../back.make 30 | 31 | include $(GNUSTEP_MAKEFILES)/common.make 32 | 33 | include ../../config.make 34 | 35 | # The library to be compiled, as a library or as a bundle 36 | SUBPROJECT_NAME=wayland 37 | 38 | wayland_LOCALIZED_RESOURCE_FILES = \ 39 | 40 | # The C source files to be compiled 41 | wayland_C_FILES = \ 42 | xdg-shell-protocol.c \ 43 | wlr-layer-shell-protocol.c \ 44 | 45 | # The Objective-C source files to be compiled 46 | wayland_OBJC_FILES = \ 47 | WaylandServer.m \ 48 | WaylandServer+Output.m \ 49 | WaylandServer+Cursor.m \ 50 | WaylandServer+Keyboard.m \ 51 | WaylandServer+Seat.m \ 52 | WaylandServer+Xdgshell.m \ 53 | WaylandServer+Layershell.m \ 54 | 55 | -include GNUmakefile.preamble 56 | 57 | include $(GNUSTEP_MAKEFILES)/subproject.make 58 | 59 | -include GNUmakefile.postamble 60 | -------------------------------------------------------------------------------- /Tools/GNUmakefile: -------------------------------------------------------------------------------- 1 | # 2 | # Tools level makefile for GNUstep Backend Library 3 | # 4 | # Copyright (C) 1997,1999 Free Software Foundation, Inc. 5 | # 6 | # Author: Scott Christley 7 | # 8 | # This file is part of the GNUstep GUI Library. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | PACKAGE_NAME = gnustep-back 27 | GNUSTEP_LOCAL_ADDITIONAL_MAKEFILES=../back.make 28 | include $(GNUSTEP_MAKEFILES)/common.make 29 | 30 | include ../Version 31 | include ../config.make 32 | 33 | # The applications to be compiled 34 | TOOL_NAME = gpbs 35 | 36 | # The source files to be compiled 37 | gpbs_OBJC_FILES = gpbs.m 38 | font_cacher_OBJC_FILES = font_cacher.m 39 | 40 | MAN1_PAGES = gpbs.1 41 | 42 | ifeq ($(BUILD_GRAPHICS),xlib) 43 | ifeq ($(WITH_XFT),no) 44 | TOOL_NAME += font_cacher 45 | MAN1_PAGES += font_cacher.1 46 | endif 47 | endif 48 | 49 | ifeq ($(BUILD_SERVER),x11) 50 | gpbs_OBJC_FILES += xpbs.m 51 | ifeq ($(BACKEND_BUNDLE),yes) 52 | font_cacher_OBJC_FILES += XGCommonFont.m 53 | gpbs_C_FILES += xdnd.c 54 | endif 55 | endif 56 | 57 | ifeq ($(BUILD_SERVER),win32) 58 | gpbs_OBJC_FILES += win32pbs.m 59 | endif 60 | 61 | -include GNUmakefile.preamble 62 | 63 | include $(GNUSTEP_MAKEFILES)/tool.make 64 | 65 | -include GNUmakefile.postamble 66 | -------------------------------------------------------------------------------- /Source/cairo/CairoSurface.m: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2004 Free Software Foundation, Inc. 3 | 4 | Author: Banlu Kemiyatorn 5 | 6 | This file is part of GNUstep. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General Public 19 | License along with this library; see the file COPYING.LIB. 20 | If not, see or write to the 21 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 22 | Boston, MA 02110-1301, USA. 23 | */ 24 | 25 | #include "cairo/CairoSurface.h" 26 | 27 | @implementation CairoSurface 28 | 29 | - (id) initWithDevice: (void *) device 30 | { 31 | /* TODO FIXME make a more abstract struct for the device */ 32 | [self subclassResponsibility:_cmd]; 33 | 34 | return self; 35 | } 36 | 37 | - (void) dealloc 38 | { 39 | //NSLog(@"CairoSurface dealloc"); 40 | if (_surface != NULL) 41 | { 42 | cairo_surface_destroy(_surface); 43 | } 44 | [super dealloc]; 45 | } 46 | 47 | - (NSString *) description 48 | { 49 | return [NSString stringWithFormat:@"<%@ %p xr:%p>", [self class], self, _surface]; 50 | } 51 | 52 | -(NSSize) size 53 | { 54 | [self subclassResponsibility:_cmd]; 55 | return NSMakeSize(0, 0); 56 | } 57 | 58 | - (void) setSize: (NSSize)newSize 59 | { 60 | [self subclassResponsibility:_cmd]; 61 | } 62 | 63 | - (cairo_surface_t *) surface 64 | { 65 | return _surface; 66 | } 67 | 68 | - (void) handleExposeRect: (NSRect)rect 69 | { 70 | } 71 | 72 | - (BOOL) isDrawingToScreen 73 | { 74 | return YES; 75 | } 76 | 77 | @end 78 | -------------------------------------------------------------------------------- /Headers/fontconfig/FCFontEnumerator.h: -------------------------------------------------------------------------------- 1 | /* 2 | FCFontEnumerator.h 3 | 4 | Copyright (C) 2003 Free Software Foundation, Inc. 5 | August 31, 2003 6 | Written by Banlu Kemiyatorn 7 | 8 | This file is part of GNUstep. 9 | 10 | This library is free software; you can redistribute it and/or 11 | modify it under the terms of the GNU Lesser General Public 12 | License as published by the Free Software Foundation; either 13 | version 2 of the License, or (at your option) any later version. 14 | 15 | This library is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | Lesser General Public License for more details. 19 | 20 | You should have received a copy of the GNU Lesser General Public 21 | License along with this library; see the file COPYING.LIB. 22 | If not, see or write to the 23 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | Boston, MA 02110-1301, USA. 25 | */ 26 | 27 | 28 | #ifndef FCFontEnumerator_h 29 | #define FCFontEnumerator_h 30 | 31 | #include 32 | #define id fontconfig_id 33 | #include 34 | #undef id 35 | #include "fontconfig/FCFaceInfo.h" 36 | 37 | @interface FCFontEnumerator : GSFontEnumerator 38 | { 39 | } 40 | + (Class) faceInfoClass; 41 | + (FCFaceInfo *) fontWithName: (NSString *)name; 42 | @end 43 | 44 | @interface FontconfigPatternGenerator : NSObject 45 | { 46 | NSDictionary *_attributes; 47 | FcPattern *_pat; 48 | } 49 | - (FcPattern *)createPatternWithAttributes: (NSDictionary *)attributes; 50 | @end 51 | 52 | @interface FontconfigPatternParser : NSObject 53 | { 54 | NSMutableDictionary *_attributes; 55 | FcPattern *_pat; 56 | } 57 | - (NSDictionary*)attributesFromPattern: (FcPattern *)pat; 58 | @end 59 | 60 | @interface FontconfigCharacterSet : NSCharacterSet 61 | { 62 | FcCharSet *_charset; 63 | } 64 | 65 | - (id)initWithFontconfigCharSet: (FcCharSet*)charset; 66 | - (FcCharSet*)fontconfigCharSet; 67 | 68 | @end 69 | 70 | #endif 71 | -------------------------------------------------------------------------------- /Tools/font_cacher.1: -------------------------------------------------------------------------------- 1 | .\"font_cacher(1) man page 2 | .\"Written by Yavor Doganov 3 | .\"Copyright (C) 2018 Free Software Foundation, Inc. 4 | .\"License: GPL-3+ 5 | .TH FONT_CACHER 1 "February 2018" GNUstep "GNUstep System Manual" 6 | .SH NAME 7 | font_cacher \- font cacher for the GNUstep xlib Backend 8 | .SH SYNOPSIS 9 | \fBfont_cacher\fR [\fIoptions\fR] 10 | .PP 11 | .SH DESCRIPTION 12 | The 13 | .B font_cacher 14 | program generates a cache from all available X fonts. The cache is 15 | stored in 16 | .I $HOME/GNUstep/Library/Fonts/Cache 17 | and is used only by the GNUstep xlib backend. The xlib backend will 18 | automatically launch 19 | .B font_cacher 20 | if the cache is not available or cannot be accessed. This can cause 21 | some slowness when a GNUstep application is started for the first 22 | time with xlib configured as backend. 23 | .PP 24 | Normally, the 25 | .B font_cacher 26 | program is used without options. 27 | .PP 28 | .SH OPTIONS 29 | .TP 30 | \fB\--version\fR 31 | Displays version information. (Not implemented.) 32 | .TP 33 | \fB\--help\fR 34 | Prints the exact location of the file where the font cache will be 35 | written. 36 | .TP 37 | \fB\--GNU-Debug=\fR\fIdflt\fR 38 | Displays progress and other debugging information while generating the 39 | cache. (This is a global 40 | .I GNUstep 41 | option.) 42 | .PP 43 | .SH BUGS AND LIMITATIONS 44 | If 45 | .I $HOME/GNUstep/Library 46 | does not exist, 47 | .B font_cacher 48 | will fail and the directory must be created manually. 49 | .PP 50 | When fonts are installed or removed, the program must be invoked 51 | explicitly to update the cache. There is no way to handle this 52 | automatically. 53 | .PP 54 | .SH SEE ALSO 55 | Defaults related to the GNUstep Backend: 56 | .I $GNUSTEP_DOC/Developer/Back/General/DefaultsSummary.html 57 | .PP 58 | .SH AUTHORS 59 | .B font_cacher 60 | was written by Fred Kiefer and Richard 61 | Frith-Macdonald . 62 | .PP 63 | This manual page was written by Yavor Doganov . 64 | .SH COPYING 65 | \(co 2018 Free Software Foundation, Inc. 66 | .PP 67 | This manual page is distributed under the same license as the 68 | .B font_cacher 69 | program. 70 | -------------------------------------------------------------------------------- /Headers/gsc/GSFunction.h: -------------------------------------------------------------------------------- 1 | /* -*-objc-*- 2 | GSFunction - PS Function for GSGState 3 | 4 | Copyright (C) 2003 Free Software Foundation, Inc. 5 | 6 | Author: Alexander Malmberg 7 | Author: Fred Kiefer 8 | Extracted into separate class. 9 | 10 | This file is part of GNUstep. 11 | 12 | This library is free software; you can redistribute it and/or 13 | modify it under the terms of the GNU Lesser General Public 14 | License as published by the Free Software Foundation; either 15 | version 2 of the License, or (at your option) any later version. 16 | 17 | This library is distributed in the hope that it will be useful, 18 | but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | Lesser General Public License for more details. 21 | 22 | You should have received a copy of the GNU Lesser General Public 23 | License along with this library; see the file COPYING.LIB. 24 | If not, see or write to the 25 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 26 | Boston, MA 02110-1301, USA. 27 | */ 28 | 29 | #ifndef _GSFunction_h_INCLUDE 30 | #define _GSFunction_h_INCLUDE 31 | 32 | #include 33 | 34 | @interface GSFunction : NSObject 35 | { 36 | /* General information about the function. */ 37 | int num_in, num_out; 38 | 39 | double *domain; /* num_in * 2 */ 40 | double *range; /* num_out * 2 */ 41 | 42 | /* Type specific information */ 43 | const unsigned char *data_source; 44 | int *size; /* num_in */ 45 | int bits_per_sample; 46 | double *encode; /* num_in * 2 */ 47 | double *decode; /* num_out * 2 */ 48 | } 49 | 50 | - (id) initWith: (NSDictionary *)d; 51 | - (double) getsample: (int)sample : (int) i; 52 | - (void) eval: (double *)inValues : (double *)outValues; 53 | 54 | @end 55 | 56 | @interface GSFunction2in3out : GSFunction 57 | { 58 | /* sample cache for in == 2, out == 3 */ 59 | int sample_index[2]; 60 | double sample_cache[4][3]; 61 | } 62 | 63 | - (NSRect) affectedRect; 64 | 65 | @end 66 | 67 | #endif // _GSFunction_h_INCLUDE 68 | -------------------------------------------------------------------------------- /Headers/xlib/GSXftFontInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | GSXftFontInfo 3 | 4 | NSFont helper for GNUstep GUI X/GPS Backend 5 | 6 | Copyright (C) 1996 Free Software Foundation, Inc. 7 | 8 | Author: Fred Kiefer 9 | Date: July 2001 10 | 11 | This file is part of the GNUstep GUI X/GPS Backend. 12 | 13 | This library is free software; you can redistribute it and/or 14 | modify it under the terms of the GNU Lesser General Public 15 | License as published by the Free Software Foundation; either 16 | version 2 of the License, or (at your option) any later version. 17 | 18 | This library is distributed in the hope that it will be useful, 19 | but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 | Lesser General Public License for more details. 22 | 23 | You should have received a copy of the GNU Lesser General Public 24 | License along with this library; see the file COPYING.LIB. 25 | If not, see or write to the 26 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 27 | Boston, MA 02110-1301, USA. 28 | */ 29 | 30 | // Include this before we include any objC defines, otherwise id is defined 31 | #include 32 | #define id xwindowsid 33 | #include 34 | #undef id 35 | 36 | #import "fontconfig/FCFontInfo.h" 37 | #import "fontconfig/FCFontEnumerator.h" 38 | 39 | @interface GSXftFaceInfo : FCFaceInfo 40 | @end 41 | 42 | @interface GSXftFontEnumerator : FCFontEnumerator 43 | + (Class) faceInfoClass; 44 | + (GSXftFaceInfo *) fontWithName: (NSString *)name; 45 | @end 46 | 47 | @interface GSXftFontInfo : FCFontInfo 48 | { 49 | XftFont *font_info; 50 | } 51 | 52 | - (void) drawString: (NSString*)string 53 | onDisplay: (Display*) xdpy drawable: (Drawable) draw 54 | with: (GC) xgcntxt at: (XPoint) xp; 55 | - (void) draw: (const char*) s length: (int) len 56 | onDisplay: (Display*) xdpy drawable: (Drawable) draw 57 | with: (GC) xgcntxt at: (XPoint) xp; 58 | - (CGFloat) widthOf: (const char*) s length: (int) len; 59 | - (void) setActiveFor: (Display*) xdpy gc: (GC) xgcntxt; 60 | 61 | @end 62 | -------------------------------------------------------------------------------- /Fonts/GNUmakefile.postamble: -------------------------------------------------------------------------------- 1 | # 2 | # GNUmakefile.postamble 3 | # 4 | # Copyright (C) 2000 Free Software Foundation, Inc. 5 | # 6 | # Written: Adam Fedor 7 | # Date: Oct 2000 8 | # 9 | # This file is part of the GNUstep Base Library. 10 | # 11 | # This library is free software; you can redistribute it and/or 12 | # modify it under the terms of the GNU Library General Public 13 | # License as published by the Free Software Foundation; either 14 | # version 2 of the License, or (at your option) any later version. 15 | # 16 | # This library is distributed in the hope that it will be useful, 17 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | # Library General Public License for more details. 20 | # 21 | # You should have received a copy of the GNU Library General Public 22 | # License along with this library; see the file COPYING.LIB. 23 | # If not, write to the Free Software Foundation, 24 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 25 | 26 | # Things to do before compiling 27 | # before-all:: 28 | 29 | # Things to do after compiling 30 | # after-all:: 31 | 32 | # Things to do before installing 33 | # before-install:: 34 | 35 | # Things to do after installing 36 | after-install:: 37 | mkdir -p $(back-resources_INSTALL_DIR) 38 | for file in $(FONT_INSTALL_FILES); do \ 39 | ($(TAR) cfX - $(GNUSTEP_MAKEFILES)/tar-exclude-list $$file) | (cd $(back-resources_INSTALL_DIR); $(TAR) xf -) ;\ 40 | done 41 | 42 | # Things to do before uninstalling 43 | before-uninstall:: 44 | for file in $(FONT_INSTALL_FILES); do \ 45 | rm -rf $(back-resources_INSTALL_DIR)/$$file;\ 46 | done 47 | -rmdir $(back-resources_INSTALL_DIR) 48 | 49 | # Things to do after uninstalling 50 | # after-uninstall:: 51 | 52 | # Things to do before cleaning 53 | # before-clean:: 54 | 55 | # Things to do after cleaning 56 | # after-clean:: 57 | 58 | # Things to do before distcleaning 59 | # before-distclean:: 60 | 61 | # Things to do after distcleaning 62 | # after-distclean:: 63 | 64 | # Things to do before checking 65 | # before-check:: 66 | 67 | # Things to do after checking 68 | # after-check:: 69 | -------------------------------------------------------------------------------- /Source/cairo/Win32CairoGState.m: -------------------------------------------------------------------------------- 1 | /* 2 | Win32CairoGState.m 3 | 4 | Copyright (C) 2003 Free Software Foundation, Inc. 5 | 6 | August 8, 2012 7 | 8 | This file is part of GNUstep. 9 | 10 | This library is free software; you can redistribute it and/or 11 | modify it under the terms of the GNU Lesser General Public 12 | License as published by the Free Software Foundation; either 13 | version 2 of the License, or (at your option) any later version. 14 | 15 | This library is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | Lesser General Public License for more details. 19 | 20 | You should have received a copy of the GNU Lesser General Public 21 | License along with this library; see the file COPYING.LIB. 22 | If not, see or write to the 23 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | Boston, MA 02110-1301, USA. 25 | */ 26 | 27 | #include "cairo/Win32CairoGState.h" 28 | #include "cairo/CairoSurface.h" 29 | #include 30 | 31 | @implementation Win32CairoGState 32 | 33 | + (void) initialize 34 | { 35 | if (self == [Win32CairoGState class]) 36 | { 37 | } 38 | } 39 | 40 | - (void) dealloc 41 | { 42 | DESTROY(_lastPath); 43 | [super dealloc]; 44 | } 45 | 46 | - (id)copyWithZone: (NSZone *)zone 47 | { 48 | Win32CairoGState *object = [super copyWithZone: zone]; 49 | object->_lastPath = [_lastPath copy]; 50 | return object; 51 | } 52 | 53 | - (HDC) getHDC 54 | { 55 | if (_surface) 56 | { 57 | cairo_surface_flush([_surface surface]); 58 | NSDebugLLog(@"CairoGState", 59 | @"%s:_surface: %p hdc: %p\n", __PRETTY_FUNCTION__, 60 | _surface, cairo_win32_surface_get_dc([_surface surface])); 61 | return cairo_win32_surface_get_dc([_surface surface]); 62 | } 63 | NSLog(@"%s:_surface is NULL\n", __PRETTY_FUNCTION__); 64 | return NULL; 65 | } 66 | 67 | - (void) releaseHDC: (HDC)hdc 68 | { 69 | if (hdc && _surface) 70 | cairo_surface_mark_dirty([_surface surface]); 71 | } 72 | 73 | @end 74 | -------------------------------------------------------------------------------- /Source/winlib/GNUmakefile.preamble: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile.preamble 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Fred Kiefer 7 | # 8 | # This file is part of the GNUstep WIN32 GUI Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | # 27 | # GNUmakefile.preamble 28 | # 29 | # Project specific makefile variables 30 | # 31 | # Do not put any GNUMakefile rules in this file, instead they should 32 | # be put into GNUmakefile.postamble. 33 | # 34 | 35 | # 36 | # Flags dealing with compiling and linking 37 | # 38 | 39 | # Additional flags to pass to the preprocessor 40 | ADDITIONAL_CPPFLAGS += -Wall $(CONFIG_SYSTEM_DEFS) 41 | 42 | # Additional flags to pass to the Objective-C compiler 43 | ADDITIONAL_OBJCFLAGS = -DWINVER=0x0500 44 | 45 | # Additional flags to pass to the C compiler 46 | ADDITIONAL_CFLAGS = -DWINVER=0x0500 47 | 48 | # Additional include directories the compiler should search 49 | ADDITIONAL_INCLUDE_DIRS = -I../../Headers \ 50 | -I$(GNUSTEP_TARGET_DIR) -I.. $(GRAPHIC_CFLAGS) 51 | 52 | # Additional LDFLAGS to pass to the linker 53 | # ADDITIONAL_LDFLAGS = 54 | 55 | # Additional library directories the linker should search 56 | # ADDITIONAL_LIB_DIRS = 57 | 58 | # 59 | # Flags dealing with installing and uninstalling 60 | # 61 | 62 | # Additional directories to be created during installation 63 | # ADDITIONAL_INSTALL_DIRS = 64 | -------------------------------------------------------------------------------- /Source/GNUmakefile: -------------------------------------------------------------------------------- 1 | # 2 | # Top level makefile for GNUstep Backend 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | PACKAGE_NAME = gnustep-back 27 | include $(GNUSTEP_MAKEFILES)/common.make 28 | 29 | include ../config.make 30 | 31 | include ../Version 32 | 33 | 34 | # The library to be compiled, as a library or as a bundle 35 | ifeq ($(BACKEND_BUNDLE),) 36 | BACKEND_FULL=$(BACKEND_NAME) 37 | LIBRARY_NAME=libgnustep-$(BACKEND_FULL) 38 | else 39 | BACKEND_FULL=$(BACKEND_NAME)-$(INTERFACE_VERSION_NUMBER) 40 | BUNDLE_NAME=libgnustep-$(BACKEND_FULL) 41 | endif 42 | 43 | # 44 | # The list of subproject directories 45 | # 46 | SUBPROJECTS = $(sort gsc $(BUILD_SERVER) $(BUILD_GRAPHICS)) 47 | 48 | libgnustep-$(BACKEND_FULL)_SUBPROJECTS=$(SUBPROJECTS) 49 | 50 | libgnustep-$(BACKEND_FULL)_OBJC_FILES=GSBackend.m 51 | 52 | libgnustep-$(BACKEND_FULL)_PRINCIPAL_CLASS=GSBackend 53 | 54 | libgnustep-$(BACKEND_FULL)_LOCALIZED_RESOURCE_FILES=nfontFaceNames.strings 55 | 56 | libgnustep-$(BACKEND_FULL)_LANGUAGES=English Swedish 57 | 58 | -include GNUmakefile.preamble 59 | 60 | ifeq ($(BACKEND_BUNDLE),) 61 | include $(GNUSTEP_MAKEFILES)/library.make 62 | else 63 | include $(GNUSTEP_MAKEFILES)/bundle.make 64 | endif 65 | 66 | -include GNUmakefile.postamble 67 | -------------------------------------------------------------------------------- /Source/headless/HeadlessGState.m: -------------------------------------------------------------------------------- 1 | /* 2 | HeadlessGState.m 3 | 4 | Copyright (C) 2003, 2023 Free Software Foundation, Inc. 5 | 6 | Based on work by: Marcian Lytwyn for Keysight 7 | Based on work by: Banlu Kemiyatorn 8 | Based on work by: Fred Kiefer 9 | 10 | This library is free software; you can redistribute it and/or 11 | modify it under the terms of the GNU Lesser General Public 12 | License as published by the Free Software Foundation; either 13 | version 2 of the License, or (at your option) any later version. 14 | 15 | This library is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | Lesser General Public License for more details. 19 | 20 | You should have received a copy of the GNU Lesser General Public 21 | License along with this library; see the file COPYING.LIB. 22 | If not, see or write to the 23 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | Boston, MA 02110-1301, USA. 25 | */ 26 | 27 | #include "headless/HeadlessGState.h" 28 | 29 | @implementation HeadlessGState 30 | 31 | - (void) DPSclip 32 | { 33 | } 34 | 35 | - (void) DPSfill 36 | { 37 | } 38 | 39 | - (void) DPSsetlinewidth: (CGFloat)width 40 | { 41 | } 42 | 43 | - (void) DPSsetdash: (const CGFloat *)pat : (NSInteger)size : (CGFloat)foffset 44 | { 45 | } 46 | 47 | - (void) DPSimage: (NSAffineTransform *)matrix : (NSInteger)pixelsWide 48 | : (NSInteger)pixelsHigh : (NSInteger)bitsPerSample 49 | : (NSInteger)samplesPerPixel : (NSInteger)bitsPerPixel 50 | : (NSInteger)bytesPerRow : (BOOL)isPlanar 51 | : (BOOL)hasAlpha : (NSString *)colorSpaceName 52 | : (const unsigned char *const[5])data 53 | { 54 | } 55 | 56 | - (void) DPSstroke 57 | { 58 | } 59 | 60 | - (void) compositerect: (NSRect)aRect op: (NSCompositingOperation)op 61 | { 62 | } 63 | 64 | - (void) compositeGState: (HeadlessGState *)source 65 | fromRect: (NSRect)srcRect 66 | toPoint: (NSPoint)destPoint 67 | op: (NSCompositingOperation)op 68 | fraction: (CGFloat)delta 69 | { 70 | } 71 | 72 | @end 73 | -------------------------------------------------------------------------------- /Source/cairo/CairoFaceInfo.m: -------------------------------------------------------------------------------- 1 | /* 2 | CairoFaceInfo.m 3 | 4 | Copyright (C) 2003 Free Software Foundation, Inc. 5 | 6 | August 31, 2003 7 | Written by Banlu Kemiyatorn 8 | Base on original code of Alex Malmberg 9 | Rewrite: Fred Kiefer 10 | Date: Jan 2006 11 | 12 | This file is part of GNUstep. 13 | 14 | This library is free software; you can redistribute it and/or 15 | modify it under the terms of the GNU Lesser General Public 16 | License as published by the Free Software Foundation; either 17 | version 2 of the License, or (at your option) any later version. 18 | 19 | This library is distributed in the hope that it will be useful, 20 | but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22 | Lesser General Public License for more details. 23 | 24 | You should have received a copy of the GNU Lesser General Public 25 | License along with this library; see the file COPYING.LIB. 26 | If not, see or write to the 27 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 28 | Boston, MA 02110-1301, USA. 29 | */ 30 | 31 | #include "cairo/CairoFaceInfo.h" 32 | #include 33 | 34 | @implementation CairoFaceInfo 35 | 36 | - (void) dealloc 37 | { 38 | if (_fontFace) 39 | { 40 | cairo_font_face_destroy(_fontFace); 41 | } 42 | [super dealloc]; 43 | } 44 | 45 | - (void *)fontFace 46 | { 47 | if (!_fontFace) 48 | { 49 | FcPattern *resolved; 50 | FcBool scalable; 51 | 52 | resolved = [self matchedPattern]; 53 | FcPatternGetBool(resolved, FC_SCALABLE, 0, &scalable); 54 | if (scalable != FcTrue) { 55 | NSLog(@"Selected non-scalable font."); 56 | } 57 | 58 | _fontFace = cairo_ft_font_face_create_for_pattern(resolved); 59 | FcPatternDestroy(resolved); 60 | 61 | if (cairo_font_face_status(_fontFace) != CAIRO_STATUS_SUCCESS) 62 | { 63 | NSLog(@"Creating a font face failed %@", _familyName); 64 | cairo_font_face_destroy(_fontFace); 65 | _fontFace = NULL; 66 | return NULL; 67 | } 68 | } 69 | 70 | return _fontFace; 71 | } 72 | 73 | @end 74 | -------------------------------------------------------------------------------- /Headers/x11/XGOpenGL.h: -------------------------------------------------------------------------------- 1 | /* -*-ObjC-*- */ 2 | /* XGOpenGL - openGL management using glX 3 | 4 | Copyright (C) 2002 Free Software Foundation, Inc. 5 | 6 | Author: Frederic De Jaeger 7 | Date: Nov 2002 8 | 9 | This file is part of the GNUstep GUI Library. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #ifndef _GNUstep_H_XGOpenGL_ 29 | #define _GNUstep_H_XGOpenGL_ 30 | 31 | #include 32 | 33 | #define id _gs_avoid_id_collision 34 | #define BOOL XWINDOWSBOOL 35 | #include 36 | #undef id 37 | #undef BOOL 38 | 39 | @class NSView; 40 | @class XGXSubWindow; 41 | @class XGGLPixelFormat; 42 | 43 | @interface XGGLContext : NSOpenGLContext 44 | { 45 | int glxminorversion; 46 | GLXContext glx_context; 47 | GLXWindow glx_drawable; 48 | XGXSubWindow *xSubWindow; 49 | XGGLPixelFormat *pixelFormat; 50 | BOOL saved_ignores_backing; 51 | } 52 | 53 | - (GLXContext)glxcontext; 54 | 55 | @end 56 | 57 | @interface XGGLPixelFormat : NSOpenGLPixelFormat 58 | { 59 | Display * display; 60 | int glxminorversion; 61 | 62 | GLXFBConfig *fbconfig; 63 | int pickedFBConfig; 64 | int configurationCount; 65 | BOOL shouldRequestARGBVisual; 66 | 67 | XVisualInfo *visualinfo; 68 | 69 | } 70 | 71 | + (int) glxMinorVersion; 72 | - (Display *) display; 73 | - (XVisualInfo *) visualinfo; 74 | - (GLXContext) createGLXContext: (XGGLContext *)share; 75 | - (GLXWindow) drawableForWindow: (Window)xwindowid; 76 | 77 | @end 78 | 79 | #endif 80 | -------------------------------------------------------------------------------- /Source/opal/GNUmakefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2013 Free Software Foundation, Inc. 2 | # 3 | # Author: Ivan Vucica 4 | # 5 | # This file is part of the GNUstep Backend. 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; either 10 | # version 2 of the License, or (at your option) any later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Lesser General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; see the file COPYING.LIB. 19 | # If not, see or write to the 20 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 21 | # Boston, MA 02110-1301, USA. 22 | 23 | PACKAGE_NAME = gnustep-back 24 | GNUSTEP_LOCAL_ADDITIONAL_MAKEFILES=../../back.make 25 | include $(GNUSTEP_MAKEFILES)/common.make 26 | 27 | include ../../config.make 28 | 29 | SUBPROJECT_NAME=opal 30 | 31 | # The Objective-C source files to be compiled 32 | opal_OBJC_FILES = OpalSurface.m \ 33 | OpalFontInfo.m \ 34 | OpalGState.m \ 35 | OpalContext.m \ 36 | OpalFontEnumerator.m \ 37 | OpalFaceInfo.m \ 38 | OpalPSSurface.m \ 39 | OpalPDFSurface.m \ 40 | OpalBridge.m \ 41 | ../fontconfig/FCFaceInfo.m \ 42 | ../fontconfig/FCFontEnumerator.m \ 43 | ../fontconfig/FCFontInfo.m \ 44 | 45 | ifeq ($(BUILD_SERVER),x11DISABLED) 46 | ifeq ($(WITH_GLITZ),yes) 47 | opal_OBJC_FILES += XGCairoGlitzSurface.m 48 | else 49 | opal_OBJC_FILES += XGCairoSurface.m XGCairoXImageSurface.m XGCairoModernSurface.m 50 | endif 51 | else 52 | ifeq ($(BUILD_GRAPHICS),opalDISABLED) 53 | ifeq ($(WITH_GLITZ),yes) 54 | opal_OBJC_FILES += Win32CairoGlitzSurface.m 55 | else 56 | opal_OBJC_FILES += Win32CairoSurface.m Win32CairoGState.m 57 | # Win32CairoXImageSurface.m 58 | endif 59 | endif 60 | endif 61 | 62 | opal_OBJC_FILES += 63 | 64 | -include GNUmakefile.preamble 65 | 66 | include $(GNUSTEP_MAKEFILES)/subproject.make 67 | 68 | -include GNUmakefile.postamble 69 | 70 | -------------------------------------------------------------------------------- /Headers/fontconfig/FCFaceInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | FCFaceInfo.h 3 | 4 | Copyright (C) 2003 Free Software Foundation, Inc. 5 | 6 | August 31, 2003 7 | Written by Banlu Kemiyatorn 8 | Base on code by Alexander Malmberg 9 | Rewrite: Fred Kiefer 10 | Date: Jan 2006 11 | 12 | This file is part of GNUstep. 13 | 14 | This library is free software; you can redistribute it and/or 15 | modify it under the terms of the GNU Lesser General Public 16 | License as published by the Free Software Foundation; either 17 | version 2 of the License, or (at your option) any later version. 18 | 19 | This library is distributed in the hope that it will be useful, 20 | but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22 | Lesser General Public License for more details. 23 | 24 | You should have received a copy of the GNU Lesser General Public 25 | License along with this library; see the file COPYING.LIB. 26 | If not, see or write to the 27 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 28 | Boston, MA 02110-1301, USA. 29 | */ 30 | 31 | #ifndef FCFACEINFO_H 32 | #define FCFACEINFO_H 33 | 34 | #include 35 | #include 36 | #include FT_FREETYPE_H 37 | #include 38 | 39 | @interface FCFaceInfo : NSObject 40 | { 41 | int _weight; 42 | unsigned int _traits; 43 | 44 | FcPattern *_pattern; 45 | 46 | NSString *_familyName; 47 | NSCharacterSet *_characterSet; 48 | BOOL _hasNoCharacterSet; 49 | BOOL _patternIsResolved; 50 | } 51 | 52 | - (id) initWithfamilyName: (NSString *)familyName 53 | weight: (int)weight 54 | traits: (unsigned int)traits 55 | pattern: (FcPattern *)pattern; 56 | 57 | - (unsigned int) cacheSize; 58 | 59 | - (int) weight; 60 | - (void) setWeight: (int)weight; 61 | - (unsigned int) traits; 62 | - (void) setTraits: (unsigned int)traits; 63 | 64 | - (NSString *) familyName; 65 | - (void) setFamilyName: (NSString *)name; 66 | 67 | - (NSString *) displayName; 68 | 69 | - (void *) fontFace; 70 | - (FcPattern *) matchedPattern; 71 | 72 | - (NSCharacterSet*)characterSet; 73 | 74 | @end 75 | #endif 76 | -------------------------------------------------------------------------------- /INSTALL: -------------------------------------------------------------------------------- 1 | 1 Installation 2 | ************** 3 | 4 | 1.1 Introduction 5 | ================ 6 | 7 | This file documents the installation of the GNUstep Backend Library, 8 | ‘gnustep-back’. If you are installing this package as part of the 9 | GNUstep core package, read the file GNUstep-HOWTO for more complete 10 | instructions on how to install the entire GNUstep package (including 11 | this library). GNUstep-HOWTO is located at 12 | 13 | You must have installed gnustep-gui before installing this library. 14 | 15 | 1.2 Configuration 16 | ================= 17 | 18 | Configuration is performed by running the ‘configure’ program at a shell 19 | prompt. You may want to use some of the optional arguments to the 20 | ‘configure’ program. Type ‘configure --help’ for a list. GNUstep 21 | specific options are at the end of this list (if any). 22 | 23 | The backend comes with several different window server and graphics 24 | drawing implementations. If you do nothing, the default ones will be 25 | chosen. You can can change this using configure. For instance, to 26 | choose the art graphical drawing implementation, run 27 | 28 | configure --enable-graphics=art 29 | 30 | Type ‘configure --help’ for a list of graphical drawing 31 | implementations. 32 | 33 | You can also change the name of the backend when configuring it. 34 | This is convienient if you want to have a different backend with 35 | different configurations. For instance, to create an xlib and and art 36 | backend, you could do this: 37 | 38 | configure --enable-graphics=xlib --with-name=xlib 39 | make install 40 | 41 | make distclean 42 | configure --enable-graphics=art --with-name=art 43 | make install 44 | 45 | Before running an application, choose one backend using the defaults 46 | program: 47 | 48 | defaults write NSGlobalDomain GSBackend libgnustep-xlib 49 | 50 | 1.3 Compilation 51 | =============== 52 | 53 | To compile this library, type make. After this is complete, type make 54 | install (make sure you are the root user). Some additional options you 55 | can use with make are ‘debug=yes’ to make a debugging version of the 56 | library and ‘shared=no’ to make a static version of the library. See 57 | the gstep-make package for more information on these options. 58 | 59 | 1.4 Installing 60 | ============== 61 | 62 | To install, type 63 | 64 | make install 65 | 66 | -------------------------------------------------------------------------------- /Documentation/announce.texi: -------------------------------------------------------------------------------- 1 | @c -*- texinfo -*- 2 | @chapter Announcement 3 | @ifset TEXT-ONLY 4 | @include version.texi 5 | @end ifset 6 | 7 | This is version @value{GNUSTEP-BACK-VERSION} of the GNUstep GUI Backend 8 | (@samp{gnustep-back}). 9 | 10 | @section What is the GNUstep GUI Backend? 11 | 12 | It is a back-end component for the GNUstep GUI Library. The 13 | implementation of the GNUstep GUI Library is designed in two parts. The 14 | first part is the front-end component which is independent of platform 15 | and display system. This front-end is combined with a back-end 16 | component which handles all of the display system dependent such as 17 | specific calls to the X Window System. This design allows the GNUstep 18 | applications to have the "look and feel" of the underlying display 19 | system without any changes to the application, and the library can be 20 | easily ported to other display systems. 21 | 22 | The GNUstep GUI Backend is for platforms using the X-Window System or 23 | Window's Systems. It works via a DPS emulation engine to 24 | emulate the DPS functions required by the front-end system. 25 | 26 | @set ANNOUNCE-ONLY 27 | @include news.texi 28 | @clear ANNOUNCE-ONLY 29 | 30 | @section Where can you get it? How can you compile it? 31 | 32 | @ifset GNUSTEP-BACK-FTP-MACHINE 33 | The gnustep-back-@value{GNUSTEP-BACK-VERSION}.tar.gz distribution 34 | file has been placed at @url{ftp://@value{GNUSTEP-BACK-FTP-MACHINE}/@value{GNUSTEP-BACK-FTP-DIRECTORY}}. 35 | 36 | It is accompanied by gnustep-back-@value{GNUSTEP-BACK-VERSION}.tar.gz.sig, a 37 | PGP signature which you can validate by putting both files in the same 38 | directory and using: 39 | 40 | @example 41 | gpg --verify gnustep-back-@value{GNUSTEP-BACK-VERSION}.tar.gz.sig 42 | @end example 43 | 44 | Signature has been created using the key with the following fingerprint: 45 | 46 | @example 47 | 83AA E47C E829 A414 6EF8 3420 CA86 8D4C 9914 9679 48 | @end example 49 | @end ifset 50 | 51 | Read the INSTALL file or the GNUstep-HOWTO for installation instructions. 52 | 53 | @section Where do I send bug reports? 54 | 55 | Please log bug reports on the GNUstep project page 56 | @url{http://savannah.gnu.org/bugs/?group=gnustep} or send 57 | bug reports to @email{bug-gnustep@@gnu.org}. 58 | 59 | 60 | @section Obtaining GNUstep Software 61 | 62 | Check out the GNUstep web site. (@url{http://www.gnustep.org/}) and the 63 | GNU web site. (@url{http://www.gnu.org/}) 64 | 65 | 66 | -------------------------------------------------------------------------------- /Source/xdps/drawingfuncs.psw: -------------------------------------------------------------------------------- 1 | /* 2 | drawingfuncs.psw 3 | 4 | Support functions for the C drawing functions defined in OpenStep. 5 | 6 | Copyright (C) 1996,2001 Free Software Foundation, Inc. 7 | 8 | Author: Ovidiu Predescu 9 | Date: January 1997 10 | Rewritten: Adam Fedor 11 | Date: May 2001 12 | 13 | This file is part of the GNUstep GUI X/DPS Library. 14 | 15 | This library is free software; you can redistribute it and/or 16 | modify it under the terms of the GNU Lesser General Public 17 | License as published by the Free Software Foundation; either 18 | version 3 of the License, or (at your option) any later version. 19 | 20 | This library is distributed in the hope that it will be useful, 21 | but WITHOUT ANY WARRANTY; without even the implied warranty of 22 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 23 | Lesser General Public License for more details. 24 | 25 | You should have received a copy of the GNU Lesser General Public 26 | License along with this library; see the file COPYING.LIB. 27 | If not, see or write to the 28 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 29 | Boston, MA 02110-1301, USA. 30 | */ 31 | 32 | #include 33 | 34 | defineps PSWFrameRectWithWidth (float x, y, w, h, linewidth) 35 | linewidth setlinewidth 36 | 0 setgray 37 | x y w h rectstroke 38 | endps 39 | 40 | defineps PSWFrameRect (float x, y, w, h) 41 | 1 setlinewidth 42 | 0 setgray 43 | x y w h rectstroke 44 | endps 45 | 46 | defineps PSWDottedFrameRect (float x, y, w, h) 47 | 1 setlinewidth 48 | [1] 0 setdash 49 | 0 setgray 50 | x y w h rectstroke 51 | endps 52 | 53 | /* Optimized drawing of a list of rectangles. The list consists of 54 | sucessive 4-tuples of rectangle values x, y, w, and h. Note that the 55 | number of rectangles cannot exceed 65536/4 = 16384 */ 56 | defineps PSWRectFillList (float numstring rectvals[x]; int x) 57 | rectvals rectfill 58 | endps 59 | 60 | /* Optimized drawing of a list of rectangles with different gray 61 | values. The list consists of 62 | sucessive 5-tuples of rectangle values x, y, w, h, and gray. Note that the 63 | number of rectangles cannot exceed 65536/5 = 13107 */ 64 | defineps PSWRectFillListGray (float rectvals[x]; int x) 65 | mark rectvals {counttomark 4 gt {setgray rectfill} if} forall pop 66 | endps 67 | -------------------------------------------------------------------------------- /Source/GNUmakefile.preamble: -------------------------------------------------------------------------------- 1 | # 2 | # GNUmakefile.preamble 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | # 27 | # Flags dealing with compiling and linking 28 | # 29 | 30 | # Additional flags to pass to the preprocessor 31 | ADDITIONAL_CPPFLAGS += -Wall 32 | 33 | # Additional flags to pass to the Objective-C compiler 34 | #ADDITIONAL_OBJCFLAGS += 35 | 36 | # Additional flags to pass to the C compiler 37 | ADDITIONAL_CFLAGS += 38 | 39 | # Additional include directories the compiler should search 40 | ADDITIONAL_INCLUDE_DIRS += -I../Headers -I$(GNUSTEP_TARGET_DIR) 41 | CONFIG_SYSTEM_INCL += $(GRAPHIC_CFLAGS) 42 | 43 | # Additional LDFLAGS to pass to the linker 44 | #ADDITIONAL_LDFLAGS += 45 | 46 | # Additional library directories the linker should search 47 | #ADDITIONAL_LIB_DIRS += 48 | CONFIG_SYSTEM_LIB_DIR += $(GRAPHIC_LFLAGS) 49 | 50 | # 51 | # Flags for compiling as a bundle or library (if the system depends 52 | # on having libraries specified). 53 | # 54 | libgnustep-$(BACKEND_FULL)_BUNDLE_LIBS = $(GRAPHIC_LIBS) 55 | 56 | ifeq ($(BACKEND_BUNDLE),) 57 | libgnustep-$(BACKEND_FULL)_LIBRARIES_DEPEND_UPON = \ 58 | -lgnustep-gui -l$(FOUNDATION_LIBRARY_NAME) $(GRAPHIC_LIBS) 59 | endif 60 | 61 | 62 | # 63 | # The */*.m is a hack to get make_strings to pull in all the .m files in all 64 | # sub-directories. Even if we aren't including a directory in the build, it is 65 | # important that the strings files contains all strings. 66 | # 67 | MAKE_STRINGS_OPTIONS = --aggressive-match --aggressive-remove */*.m 68 | -------------------------------------------------------------------------------- /ANNOUNCE: -------------------------------------------------------------------------------- 1 | 1 Announcement 2 | ************** 3 | 4 | This is version 0.32.0 of the GNUstep GUI Backend (‘gnustep-back’). 5 | 6 | 1.1 What is the GNUstep GUI Backend? 7 | ==================================== 8 | 9 | It is a back-end component for the GNUstep GUI Library. The 10 | implementation of the GNUstep GUI Library is designed in two parts. The 11 | first part is the front-end component which is independent of platform 12 | and display system. This front-end is combined with a back-end 13 | component which handles all of the display system dependent such as 14 | specific calls to the X Window System. This design allows the GNUstep 15 | applications to have the "look and feel" of the underlying display 16 | system without any changes to the application, and the library can be 17 | easily ported to other display systems. 18 | 19 | The GNUstep GUI Backend is for platforms using the X-Window System or 20 | Window's Systems. It works via a DPS emulation engine to emulate the 21 | DPS functions required by the front-end system. 22 | 23 | 1.2 Noteworthy changes in version ‘0.32.0’ 24 | ========================================== 25 | 26 | The release includes mostly bug fixes. 27 | 28 | • Make window termination saver. 29 | • Use default interpolation in Cairo. 30 | • Allow UTF-8 input from XLookupString. 31 | • Improve building on MS Windows. 32 | 33 | 1.3 Where can you get it? How can you compile it? 34 | ================================================= 35 | 36 | The gnustep-back-0.32.0.tar.gz distribution file has been placed at 37 | . 38 | 39 | It is accompanied by gnustep-back-0.32.0.tar.gz.sig, a PGP signature 40 | which you can validate by putting both files in the same directory and 41 | using: 42 | 43 | gpg --verify gnustep-back-0.32.0.tar.gz.sig 44 | 45 | Signature has been created using the key with the following 46 | fingerprint: 47 | 48 | 83AA E47C E829 A414 6EF8 3420 CA86 8D4C 9914 9679 49 | 50 | Read the INSTALL file or the GNUstep-HOWTO for installation 51 | instructions. 52 | 53 | 1.4 Where do I send bug reports? 54 | ================================ 55 | 56 | Please log bug reports on the GNUstep project page 57 | or send bug reports to 58 | . 59 | 60 | 1.5 Obtaining GNUstep Software 61 | ============================== 62 | 63 | Check out the GNUstep web site. () and the GNU 64 | web site. () 65 | 66 | -------------------------------------------------------------------------------- /Source/gsc/externs.m: -------------------------------------------------------------------------------- 1 | /* 2 | externs.m 3 | 4 | External data 5 | 6 | Copyright (C) 1997 Free Software Foundation, Inc. 7 | 8 | Author: Adam Fedor 9 | Date: Dec 1998 10 | 11 | This file is part of the GNUstep GUI Library. 12 | 13 | This library is free software; you can redistribute it and/or 14 | modify it under the terms of the GNU Lesser General Public 15 | License as published by the Free Software Foundation; either 16 | version 2 of the License, or (at your option) any later version. 17 | 18 | This library is distributed in the hope that it will be useful, 19 | but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 | Lesser General Public License for more details. 22 | 23 | You should have received a copy of the GNU Lesser General Public 24 | License along with this library; see the file COPYING.LIB. 25 | If not, see or write to the 26 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 27 | Boston, MA 02110-1301, USA. 28 | */ 29 | 30 | #include 31 | 32 | NSString *DPSconfigurationerror = @"DPSconfigurationerror: %@"; 33 | NSString *DPSinvalidaccess = @"DPSinvalidaccess: %@"; 34 | NSString *DPSinvalidcontext = @"DPSinvalidcontext: %@"; 35 | NSString *DPSinvalidexit = @"DPSinvalidexit: %@"; 36 | NSString *DPSinvalidfileaccess = @"DPSinvalidfileaccess: %@"; 37 | NSString *DPSinvalidfont = @"DPSinvalidfont: %@"; 38 | NSString *DPSinvalidid = @"DPSinvalidid: %@"; 39 | NSString *DPSinvalidrestore = @"DPSinvalidrestore: %@"; 40 | NSString *DPSinvalidparam = @"DPSinvalidparam: %@"; 41 | NSString *DPSioerror = @"DPSioerror: %@"; 42 | NSString *DPSlimitcheck = @"DPSlimitcheck: %@"; 43 | NSString *DPSnocurrentpoint = @"DPSnocurrentpoint: %@"; 44 | NSString *DPSnulloutput = @"DPSnulloutput: %@"; 45 | NSString *DPSrangecheck = @"DPSrangecheck: %@"; 46 | NSString *DPSstackoverflow = @"DPSstackoverflow: %@"; 47 | NSString *DPSstackunderflow = @"DPSstackunderflow: %@"; 48 | NSString *DPStypecheck = @"DPStypecheck: %@"; 49 | NSString *DPSundefined = @"DPSundefined: %@"; 50 | NSString *DPSundefinedfilename = @"DPSundefinedfilename: %@"; 51 | NSString *DPSundefinedresource = @"DPSundefinedresource: %@"; 52 | NSString *DPSundefinedresult = @"DPSundefinedresult: %@"; 53 | NSString *DPSunmatchedmark = @"DPSunmatchedmark: %@"; 54 | NSString *DPSunregistered = @"DPSunregistered: %@"; 55 | NSString *DPSVMerror = @"DPSVMerror: %@"; 56 | -------------------------------------------------------------------------------- /Tools/GNUmakefile.preamble: -------------------------------------------------------------------------------- 1 | # 2 | # GNUmakefile.preamble 3 | # 4 | # Project specific makefile variables, and additional 5 | # 6 | # Copyright (C) 1997-2005 Free Software Foundation, Inc. 7 | # 8 | # This file is part of the GNUstep User Interface Library. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | # Do not put any Makefile rules in this file, instead they should 27 | # be put into Makefile.postamble. 28 | # 29 | 30 | # 31 | # Flags dealing with compiling and linking 32 | # 33 | 34 | # Additional flags to pass to the preprocessor 35 | #ADDITIONAL_CPPFLAGS += 36 | 37 | # Additional flags to pass to the Objective-C compiler 38 | ADDITIONAL_OBJCFLAGS += -Wall 39 | 40 | # Additional flags to pass to the C compiler 41 | #ADDITIONAL_CFLAGS += 42 | 43 | # Additional include directories the compiler should search 44 | ADDITIONAL_INCLUDE_DIRS += -I../Headers -I../Source/$(GNUSTEP_TARGET_DIR) 45 | 46 | # Additional LDFLAGS to pass to the linker 47 | # ADDITIONAL_LDFLAGS += 48 | 49 | # Additional library directories the linker should search 50 | ADDITIONAL_LIB_DIRS += -L../Source/$(GNUSTEP_OBJ_DIR) 51 | 52 | # Additional libraries when linking applications 53 | #ADDITIONAL_GUI_LIBS += 54 | 55 | # 56 | # Flags dealing with installing and uninstalling 57 | # 58 | 59 | # Additional directories to be created during installation 60 | ADDITIONAL_INSTALL_DIRS += 61 | 62 | # Flags for when the backend is compiled as a bundle 63 | ifneq ($(BACKEND_BUNDLE),) 64 | ADDITIONAL_TOOL_LIBS += $(GUI_LIBS) $(GRAPHIC_LIBS) $(SYSTEM_LIBS) 65 | CONFIG_SYSTEM_INCL += $(GRAPHIC_CFLAGS) 66 | CONFIG_SYSTEM_LIB_DIR += $(GRAPHIC_LFLAGS) 67 | else 68 | ADDITIONAL_TOOL_LIBS += -lgnustep-gui -lgnustep-back $(SYSTEM_LIBS) 69 | endif 70 | -------------------------------------------------------------------------------- /Headers/x11/XGDragView.h: -------------------------------------------------------------------------------- 1 | /* -*- mode: ObjC -*- 2 | XGDragView 3 | 4 | View that is dragged during drag and drop 5 | 6 | Copyright (C) 2001-2005 Free Software Foundation, Inc. 7 | 8 | Written By: woudshoo@xs4all.nl 9 | Date: Nov 2001 10 | 11 | This file is part of the GNU Objective C User Interface library. 12 | 13 | This library is free software; you can redistribute it and/or 14 | modify it under the terms of the GNU Lesser General Public 15 | License as published by the Free Software Foundation; either 16 | version 2 of the License, or (at your option) any later version. 17 | 18 | This library is distributed in the hope that it will be useful, 19 | but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 | Lesser General Public License for more details. 22 | 23 | You should have received a copy of the GNU Lesser General Public 24 | License along with this library; see the file COPYING.LIB. 25 | If not, see or write to the 26 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 27 | Boston, MA 02110-1301, USA. 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | #include 34 | #include "x11/xdnd.h" 35 | #include "x11/XGServerWindow.h" 36 | 37 | /*" 38 | Drag and drop support functions 39 | "*/ 40 | 41 | void GSEnsureDndIsInitialized (void); 42 | DndClass xdnd (void); 43 | Atom GSActionForDragOperation(unsigned int op); 44 | NSDragOperation GSDragOperationForAction(Atom xaction); 45 | 46 | 47 | /*" 48 | WRO (notes made 18 Nov 2001) 49 | 50 | The object that is dragged over the screen. 51 | It hijacks the event loop and manages the complete 52 | drag and drop sequence. 53 | "*/ 54 | @interface XGDragView : GSDragView 55 | { 56 | Atom *typelist; 57 | } 58 | 59 | + (id) sharedDragView; 60 | 61 | - (void) setupDragInfoFromXEvent: (XEvent *)xEvent; 62 | - (void) updateDragInfoFromEvent: (NSEvent *)event; 63 | - (void) resetDragInfo; 64 | - (void) dragImage: (NSImage*)anImage 65 | at: (NSPoint)screenLocation 66 | offset: (NSSize)initialOffset 67 | event: (NSEvent*)event 68 | pasteboard: (NSPasteboard*)pboard 69 | source: (id)sourceObject 70 | slideBack: (BOOL)slideFlag; 71 | - (Window) _xWindowAcceptingDnDunderX: (int) x Y: (int) y; 72 | @end 73 | -------------------------------------------------------------------------------- /Source/cairo/GNUmakefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2004 Free Software Foundation, Inc. 2 | # 3 | # Author: Banlu Kemiyatorn 4 | # 5 | # This file is part of the GNUstep Backend. 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; either 10 | # version 2 of the License, or (at your option) any later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Lesser General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; see the file COPYING.LIB. 19 | # If not, see or write to the 20 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 21 | # Boston, MA 02110-1301, USA. 22 | 23 | PACKAGE_NAME = gnustep-back 24 | GNUSTEP_LOCAL_ADDITIONAL_MAKEFILES=../../back.make 25 | include $(GNUSTEP_MAKEFILES)/common.make 26 | 27 | include ../../config.make 28 | 29 | SUBPROJECT_NAME=cairo 30 | 31 | # The Objective-C source files to be compiled 32 | cairo_OBJC_FILES = CairoSurface.m \ 33 | CairoFontInfo.m \ 34 | CairoGState.m \ 35 | CairoContext.m \ 36 | CairoFontEnumerator.m \ 37 | CairoFontAssetInstaller.m \ 38 | CairoFaceInfo.m \ 39 | CairoPSSurface.m \ 40 | CairoPDFSurface.m \ 41 | ../fontconfig/FCFaceInfo.m \ 42 | ../fontconfig/FCFontEnumerator.m \ 43 | ../fontconfig/FCFontInfo.m \ 44 | ../fontconfig/FCFontAssetInstaller.m \ 45 | 46 | 47 | ifeq ($(BUILD_SERVER),x11) 48 | ifeq ($(WITH_GLITZ),yes) 49 | cairo_OBJC_FILES += XGCairoGlitzSurface.m 50 | else 51 | cairo_OBJC_FILES += XGCairoSurface.m XGCairoXImageSurface.m XGCairoModernSurface.m 52 | endif 53 | else 54 | ifeq ($(BUILD_SERVER),wayland) 55 | cairo_OBJC_FILES += WaylandCairoShmSurface.m 56 | else 57 | ifeq ($(BUILD_GRAPHICS),cairo) 58 | ifeq ($(WITH_GLITZ),yes) 59 | cairo_OBJC_FILES += Win32CairoGlitzSurface.m 60 | else 61 | cairo_OBJC_FILES += Win32CairoSurface.m Win32CairoGState.m 62 | # Win32CairoXImageSurface.m 63 | endif 64 | endif 65 | endif 66 | endif 67 | 68 | cairo_OBJC_FILES += 69 | 70 | -include GNUmakefile.preamble 71 | 72 | include $(GNUSTEP_MAKEFILES)/subproject.make 73 | 74 | -include GNUmakefile.postamble 75 | 76 | -------------------------------------------------------------------------------- /Source/wayland/WaylandServer+Layershell.m: -------------------------------------------------------------------------------- 1 | /* 2 | WaylandServer - LayerShell Protocol Handling 3 | 4 | Copyright (C) 2020 Free Software Foundation, Inc. 5 | 6 | Author: Riccardo Canalicchio 7 | Date: November 2021 8 | 9 | This file is part of the GNU Objective C Backend Library. 10 | 11 | This library is free software; you can redistribute it and/or 12 | modify it under the terms of the GNU Lesser General Public 13 | License as published by the Free Software Foundation; either 14 | version 2 of the License, or (at your option) any later version. 15 | 16 | This library is distributed in the hope that it will be useful, 17 | but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | Lesser General Public License for more details. 20 | 21 | You should have received a copy of the GNU Lesser General Public 22 | License along with this library; see the file COPYING.LIB. 23 | If not, see or write to the 24 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 25 | Boston, MA 02110-1301, USA. 26 | */ 27 | 28 | #include "wayland/WaylandServer.h" 29 | #include 30 | #include 31 | 32 | static void 33 | layer_surface_configure(void *data, struct zwlr_layer_surface_v1 *surface, 34 | uint32_t serial, uint32_t w, uint32_t h) 35 | { 36 | struct window *window = data; 37 | NSDebugLog(@"[%d] layer_surface_configure", window->window_id); 38 | WaylandConfig *wlconfig = window->wlconfig; 39 | zwlr_layer_surface_v1_ack_configure(surface, serial); 40 | window->configured = YES; 41 | if (window->buffer_needs_attach) 42 | { 43 | [window->instance flushwindowrect:NSMakeRect(window->pos_x, window->pos_y, 44 | window->width, window->height 45 | ):window->window_id]; 46 | } 47 | } 48 | 49 | static void 50 | layer_surface_closed(void *data, struct zwlr_layer_surface_v1 *surface) 51 | { 52 | struct window *window = data; 53 | WaylandConfig *wlconfig = window->wlconfig; 54 | NSDebugLog(@"layer_surface_closed %d", window->window_id); 55 | // zwlr_layer_surface_v1_destroy(surface); 56 | wl_surface_destroy(window->surface); 57 | window->surface = NULL; 58 | window->configured = NO; 59 | window->layer_surface = NULL; 60 | } 61 | 62 | const struct zwlr_layer_surface_v1_listener layer_surface_listener = { 63 | .configure = layer_surface_configure, 64 | .closed = layer_surface_closed, 65 | }; 66 | -------------------------------------------------------------------------------- /GNUmakefile.postamble: -------------------------------------------------------------------------------- 1 | # -*-makefile-*- 2 | # GNUmakefile.postamble 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | # Things to do before compiling 27 | # before-all:: 28 | 29 | # Things to do after compiling 30 | # after-all:: 31 | 32 | $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional: 33 | $(MKDIRS) $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional 34 | 35 | # Things to do before installing 36 | ifeq ($(BACKEND_BUNDLE),) 37 | before-install:: $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional 38 | $(INSTALL_DATA) back.make \ 39 | $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/back.make 40 | endif 41 | 42 | # Things to do after installing 43 | # after-install:: 44 | 45 | # Things to do before uninstalling 46 | # before-uninstall:: 47 | 48 | # Things to do after uninstalling 49 | # after-uninstall:: 50 | 51 | # Things to do before cleaning 52 | # before-clean:: 53 | 54 | # Things to do after cleaning 55 | # after-clean:: 56 | 57 | # Things to do before distcleaning 58 | # before-distclean:: 59 | 60 | # Things to do after distcleaning 61 | after-distclean:: 62 | rm -f config.status config.log config.cache TAGS config.h config.make back.make 63 | 64 | back.make: back.make.in Version configure 65 | if [ -x config.status ]; then \ 66 | ./config.status --recheck && ./config.status; \ 67 | else \ 68 | ./configure; \ 69 | fi 70 | 71 | config.make: config.make.in configure 72 | if [ -x config.status ]; then \ 73 | ./config.status --recheck && ./config.status; \ 74 | else \ 75 | ./configure; \ 76 | fi 77 | 78 | # Things to do before checking 79 | # before-check:: 80 | 81 | # Things to do after checking 82 | # after-check:: 83 | -------------------------------------------------------------------------------- /Source/GNUmakefile.postamble: -------------------------------------------------------------------------------- 1 | # 2 | # GNUakefile.postamble 3 | # 4 | # Copyright (C) 2002 Free Software Foundation, Inc. 5 | # 6 | # Author: Adam Fedor 7 | # 8 | # This file is part of the GNUstep Backend. 9 | # 10 | # This library is free software; you can redistribute it and/or 11 | # modify it under the terms of the GNU Lesser General Public 12 | # License as published by the Free Software Foundation; either 13 | # version 2 of the License, or (at your option) any later version. 14 | # 15 | # This library is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | # Lesser General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU Lesser General Public 21 | # License along with this library; see the file COPYING.LIB. 22 | # If not, see or write to the 23 | # Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | # Boston, MA 02110-1301, USA. 25 | 26 | # Things to do before compiling 27 | before-all:: $(GNUSTEP_TARGET_DIR)/config.h $(BUNDLE_NAME)Info.plist 28 | 29 | # Things to do after compiling 30 | # after-all:: 31 | 32 | # Things to do before installing 33 | # before-install:: 34 | 35 | # Things to do after installing 36 | # after-install:: 37 | 38 | # Things to do before uninstalling 39 | # before-uninstall:: 40 | 41 | # Things to do after uninstalling 42 | # after-uninstall:: 43 | 44 | # Things to do before cleaning 45 | # before-clean:: 46 | 47 | # Things to do after cleaning 48 | after-clean:: 49 | rm -f $(BUNDLE_NAME)Info.plist: 50 | 51 | # Things to do before distcleaning 52 | # before-distclean:: 53 | 54 | # Things to do after distcleaning 55 | after-distclean:: 56 | rm -rf $(GNUSTEP_TARGET_DIR)/config.h 57 | rm -rf $(GNUSTEP_TARGET_CPU) 58 | 59 | # Things to do before checking 60 | # before-check:: 61 | 62 | # Things to do after checking 63 | # after-check:: 64 | 65 | # 66 | # The config.h file is specific to a target 67 | # 68 | $(GNUSTEP_TARGET_DIR)/config.h: ../config.status 69 | $(MKDIRS) $(GNUSTEP_TARGET_DIR) 70 | -cp ../config.h $(GNUSTEP_TARGET_DIR) 71 | 72 | 73 | # 74 | # Make an Info.plist for the bundle 75 | # 76 | $(BUNDLE_NAME)Info.plist: 77 | $(ECHO_CREATING)(echo "{"; \ 78 | echo " GSBundleShortVersionString = \"$(VERSION)\";"; \ 79 | echo " GSBundleVersion = $(VERSION_NUMBER);"; \ 80 | echo " CFBundleShortVersionString = \"$(VERSION)\";"; \ 81 | echo " CFBundleVersion = $(VERSION_NUMBER);"; \ 82 | echo "}") > $@$(END_ECHO) 83 | -------------------------------------------------------------------------------- /Source/headless/HeadlessFontInfo.m: -------------------------------------------------------------------------------- 1 | /* 2 | HeadlessFontInfo.m 3 | 4 | Copyright (C) 2003, 2023 Free Software Foundation, Inc. 5 | 6 | Based on work by: Marcian Lytwyn for Keysight 7 | Based on work by: Banlu Kemiyatorn 8 | Based on work by: Alex Malmberg 9 | 10 | This library is free software; you can redistribute it and/or 11 | modify it under the terms of the GNU Lesser General Public 12 | License as published by the Free Software Foundation; either 13 | version 2 of the License, or (at your option) any later version. 14 | 15 | This library is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | Lesser General Public License for more details. 19 | 20 | You should have received a copy of the GNU Lesser General Public 21 | License along with this library; see the file COPYING.LIB. 22 | If not, see or write to the 23 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | Boston, MA 02110-1301, USA. 25 | */ 26 | 27 | #include "GNUstepBase/Unicode.h" 28 | #include 29 | #include 30 | #include "headless/HeadlessFontInfo.h" 31 | #include "headless/HeadlessFontEnumerator.h" 32 | 33 | #include 34 | 35 | @implementation HeadlessFontInfo 36 | 37 | - (id) initWithFontName: (NSString *)name 38 | matrix: (const CGFloat *)fmatrix 39 | screenFont: (BOOL)p_screenFont 40 | { 41 | self = [super init]; 42 | if (!self) 43 | return nil; 44 | 45 | #ifndef _MSC_VER 46 | // Accessing instance variables across module boundaries is not supported by the Visual Studio 47 | // toolchain; this could be implemented using e.g. setFontName: and setMatrix: method on the 48 | // base case. 49 | fontName = [name copy]; 50 | memcpy(matrix, fmatrix, sizeof(matrix)); 51 | #endif 52 | 53 | return self; 54 | } 55 | 56 | - (void) dealloc 57 | { 58 | [super dealloc]; 59 | } 60 | 61 | - (BOOL) glyphIsEncoded: (NSGlyph)glyph 62 | { 63 | return NO; 64 | } 65 | 66 | - (NSSize) advancementForGlyph: (NSGlyph)glyph 67 | { 68 | return NSZeroSize; 69 | } 70 | 71 | - (NSRect) boundingRectForGlyph: (NSGlyph)glyph 72 | { 73 | return NSZeroRect; 74 | } 75 | 76 | - (CGFloat) widthOfString: (NSString *)string 77 | { 78 | return 0.0; 79 | } 80 | 81 | - (void) appendBezierPathWithGlyphs: (NSGlyph *)glyphs 82 | count: (int)length 83 | toBezierPath: (NSBezierPath *)path 84 | { 85 | } 86 | 87 | @end -------------------------------------------------------------------------------- /Headers/x11/XGInputServer.h: -------------------------------------------------------------------------------- 1 | /* XGInputServer - Keyboard input handling 2 | 3 | Copyright (C) 2002 Free Software Foundation, Inc. 4 | 5 | Author: Adam Fedor 6 | Date: January 2002 7 | 8 | This file is part of the GNUstep GUI Library. 9 | 10 | This library is free software; you can redistribute it and/or 11 | modify it under the terms of the GNU Lesser General Public 12 | License as published by the Free Software Foundation; either 13 | version 2 of the License, or (at your option) any later version. 14 | 15 | This library is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 | Lesser General Public License for more details. 19 | 20 | You should have received a copy of the GNU Lesser General Public 21 | License along with this library; see the file COPYING.LIB. 22 | If not, see or write to the 23 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 24 | Boston, MA 02110-1301, USA. 25 | */ 26 | 27 | #ifndef _GNUstep_H_XGInputServer 28 | #define _GNUstep_H_XGInputServer 29 | 30 | #include 31 | #include 32 | 33 | @protocol XInputFiltering 34 | - (BOOL) filterEvent: (XEvent *)event; 35 | - (NSString *) lookupStringForEvent: (XKeyEvent *)event 36 | window: (gswindow_device_t *)window 37 | keysym: (KeySym *)keysymptr; 38 | @end 39 | 40 | 41 | @interface XIMInputServer: NSInputServer 42 | { 43 | id delegate; 44 | NSString *server_name; 45 | XIM xim; 46 | XIMStyle xim_style; 47 | 48 | /* Track the XIC:s and destroy them explicitly to work around an XFree86 49 | bug: 50 | http://www.xfree86.org/pipermail/xpert/2002-June/018370.html 51 | */ 52 | XIC *xics; 53 | int num_xics; 54 | } 55 | 56 | - (id) initWithDelegate: (id)aDelegate 57 | display: (Display *)dpy 58 | name: (NSString *)name; 59 | - (void) ximFocusICWindow: (gswindow_device_t *)windev; 60 | - (void) ximCloseIC: (XIC)xic; 61 | 62 | @end 63 | 64 | // Public interface for the input methods 65 | @interface XIMInputServer (InputMethod) 66 | - (NSString *) inputMethodStyle; 67 | - (NSString *) fontSize: (int *)size; 68 | - (BOOL) clientWindowRect: (NSRect *)rect; 69 | 70 | - (BOOL) statusArea: (NSRect *)rect; 71 | - (BOOL) preeditArea: (NSRect *)rect; 72 | - (BOOL) preeditSpot: (NSPoint *)p; 73 | 74 | - (BOOL) setStatusArea: (NSRect *)rect; 75 | - (BOOL) setPreeditArea: (NSRect *)rect; 76 | - (BOOL) setPreeditSpot: (NSPoint *)p; 77 | @end // XIMInputServer (InputMethod) 78 | 79 | #endif 80 | -------------------------------------------------------------------------------- /Source/xdps/AFMFileFontInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | AFMFileFontInfo.h 3 | 4 | Private data of PXKFont class. 5 | 6 | Copyright (C) 1996 Free Software Foundation, Inc. 7 | 8 | Author: Ovidiu Predescu 9 | Date: February 1997 10 | 11 | This file is part of the GNUstep GUI X/DPS Library. 12 | 13 | This library is free software; you can redistribute it and/or 14 | modify it under the terms of the GNU Lesser General Public 15 | License as published by the Free Software Foundation; either 16 | version 2 of the License, or (at your option) any later version. 17 | 18 | This library is distributed in the hope that it will be useful, 19 | but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 | Lesser General Public License for more details. 22 | 23 | You should have received a copy of the GNU Lesser General Public 24 | License along with this library; see the file COPYING.LIB. 25 | If not, see or write to the 26 | Free Software Foundation, 51 Franklin Street, Fifth Floor, 27 | Boston, MA 02110-1301, USA. 28 | */ 29 | 30 | #ifndef __AFMFileFontInfo_h__ 31 | #define __AFMFileFontInfo_h__ 32 | 33 | #include 34 | #include 35 | #include "parseAFM.h" 36 | 37 | typedef struct { 38 | NSGlyph glyph; 39 | NSSize advancement; 40 | } tPairKerningInfo; 41 | 42 | @interface PXKFontEnumerator : GSFontEnumerator 43 | { 44 | } 45 | @end 46 | 47 | @interface AFMGlyphInfo : NSObject 48 | { 49 | NSString* name; 50 | NSGlyph code; 51 | NSRect bbox; 52 | NSSize advancement; 53 | int lastKernPair; 54 | int numOfPairs; 55 | tPairKerningInfo* kerning; 56 | } 57 | 58 | + (AFMGlyphInfo*) glyphFromAFMCharMetricInfo: (AFMCharMetricInfo*)metricInfo; 59 | 60 | - (AFMGlyphInfo*)mutableCopyWithZone: (NSZone*)zone; 61 | 62 | - (NSString*) name; 63 | - (NSGlyph) code; 64 | - (NSRect) boundingRect; 65 | - (NSSize) advancement; 66 | - (BOOL) isEncoded; 67 | 68 | - (void) transformUsingMatrix: (const float*)matrix; 69 | 70 | - (void) incrementNumberOfKernPairs; 71 | - (void) addPairKerningForGlyph:(NSGlyph)glyph advancement:(NSSize)advancement; 72 | - (NSSize) advancementIfFollowedByGlyph: (NSGlyph)glyph 73 | isNominal: (BOOL*)nominal; 74 | 75 | @end 76 | 77 | 78 | @interface AFMFileFontInfo : GSFontInfo 79 | { 80 | NSString *afmFileName; 81 | NSMapTable *glyphsByName; 82 | AFMGlyphInfo *glyphs[256]; 83 | } 84 | 85 | - (AFMFileFontInfo*)mutableCopyWithZone: (NSZone*)zone; 86 | - (AFMFileFontInfo*)initUnscaledWithFontName: (NSString*)name; 87 | @end 88 | 89 | #endif /* __AFMFileFontInfo_h__ */ 90 | 91 | --------------------------------------------------------------------------------