• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

m4/H03-Oct-2019-9,0758,203

src/H03-May-2022-48,02434,451

tests/H03-May-2022-65,32347,177

AUTHORSH A D27-Aug-2014203 1311

COPYINGH A D25-Sep-201967 21

ChangeLogH A D25-Sep-201938 21

INSTALLH A D27-Aug-20149.3 KiB237179

LICENSEH A D25-Sep-20191 KiB1412

Makefile.amH A D25-Sep-2019248 137

Makefile.inH A D03-May-202228.5 KiB904805

NEWSH A D25-Sep-201981 21

README.mdH A D02-Oct-20193.1 KiB9053

TODOH A D25-Sep-20192.1 KiB8960

aclocal.m4H A D03-Oct-201952.9 KiB1,4701,332

compileH A D25-Mar-20187.2 KiB348258

config.guessH A D24-Feb-201843.2 KiB1,4811,288

config.h.inH A D03-Oct-20193.2 KiB14398

config.subH A D24-Feb-201835.3 KiB1,8021,661

configureH A D03-Oct-2019492.1 KiB16,81414,252

configure.acH A D03-Oct-201915.6 KiB521448

depcompH A D25-Mar-201823 KiB792502

install-shH A D25-Mar-201814.8 KiB509329

libgdiplus.pc.inH A D27-Aug-2014288 1310

libgdiplus.slnH A D29-Jan-20181.3 KiB2927

libgdiplus0.spec.inH A D25-Sep-20191.5 KiB6654

ltmain.shH A D03-Oct-2019316.8 KiB11,1577,986

missingH A D25-Mar-20186.7 KiB216143

test-driverH A D25-Mar-20184.5 KiB14987

winconfig.h.inH A D25-Sep-2019177 53

README.md

1## libgdiplus: An Open Source implementation of the GDI+ API.
2
3This is part of the [Mono project](http://www.mono-project.com/).
4
5Build status:
6
7|    |   |
8|----|---|
9| Travis (Linux/OSX) | [![Travis Build Status](https://travis-ci.org/mono/libgdiplus.svg?branch=master)](https://travis-ci.org/mono/libgdiplus)|
10| Jenkins (Linux)    | [![Jenkins Linux Build Status](https://jenkins.mono-project.com/job/test-libgdiplus-mainline/badge/icon)](https://jenkins.mono-project.com/job/test-libgdiplus-mainline) |
11| Jenkins (Windows)  | [![Jenkins Windows Build Status](https://jenkins.mono-project.com/job/test-libgdiplus-mainline-windows/badge/icon)](https://jenkins.mono-project.com/job/test-libgdiplus-mainline-windows) |
12
13### Requirements:
14
15This requires the libraries used by the Cairo vector graphics library to build (freetype2, fontconfig, Xft2 and libpng).
16
17On **OSX** you can use [Homebrew](https://brew.sh/) to install the dependencies:
18
19	brew install glib cairo libexif libjpeg giflib libtiff autoconf libtool automake pango pkg-config
20	brew link gettext --force
21
22On **Debian-based Linux distributions** you can use `apt-get` to install the dependencies:
23
24	sudo apt-get install libgif-dev autoconf libtool automake build-essential gettext libglib2.0-dev libcairo2-dev libtiff-dev libexif-dev
25
26On **Windows** you can use [Vcpkg](https://github.com/Microsoft/vcpkg) to install the dependencies. Run the following commands from the root of the repository from an admin command prompt:
27
28	bootstrap-vcpkg.bat
29	vcpkg.exe integrate install
30	vcpkg.exe install giflib libjpeg-turbo libpng cairo glib tiff libexif glib pango --triplet x86-windows
31	vcpkg.exe install giflib libjpeg-turbo libpng cairo glib tiff libexif glib pango --triplet x64-windows
32
33### Build instructions
34
35To build on **OSX** without X11:
36
37	./autogen.sh --without-x11 --prefix=YOUR_PREFIX
38	make
39
40To build on **OSX with X11** (e.g. from XQuartz):
41
42	PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig ./autogen.sh --prefix=YOUR_PREFIX
43	make
44
45To build on **Linux**:
46
47	./autogen.sh --prefix=YOUR_PREFIX
48	make
49
50To build on **Windows**, open `libgdiplus.sln`.
51
52### Running the unit tests
53
54Run the following command from the root of the repository:
55
56	make check
57
58To run the tests with Clang sanitizers, run the following command from the root of the repository:
59
60	./autogen.sh --enable-asan
61	make check
62
63### Code coverage
64
65Code coverage stats are generated with `lcov`. You can use [Homebrew](https://brew.sh/) on **OSX** to install the dependencies:
66
67	brew install lcov
68
69To run the tests with code coverage, run the following commands from the root of the repository:
70
71	./autogen.sh --enable-coverage
72	make check
73	lcov --capture --directory src --output-file coverage.info
74	genhtml coverage.info --output-directory coverage
75
76To view the coverage report, navigate to the `coverage` directory in the root of the repository and open `index.html`.
77
78### Installing libgdiplus
79
80Run the following command from the root of the repository:
81
82	make install
83
84### Optional build options
85
86	--with-pango
87
88	This builds libgdiplus using Pango to render (measure and draw)
89	all of it's text. This requires Pango version 1.38 (or later).
90