Commit graph

21 commits

Author SHA1 Message Date
Vladimir Vukicevic
ae19b1c991 [win32] Add cairo_win32_font_face_create_for_logfontw_hfont
Patch from: Robert O'Callahan <roc@ocallahans.org>

Add cairo_win32_font_face_create_for_logfontw_hfont, allow win32
scaled_fonts to rescale themselves properly to the required CTM and
only use the font_face's hfont if we're sure it's appropriate.
2007-08-28 10:54:20 -07:00
Jonathan Watt
d4a58b2437 Remove WINVER from public header file 2007-01-04 16:46:22 +01:00
Jonathan Watt
81a620fb66 revert accidental mode changes in my previous commit 2006-12-15 04:52:28 +01:00
U-JONATHAN-X60S\jonathan
bf78be63fc Fix a couple of character spacing issues on Windows 2006-12-15 00:48:54 +01:00
Stuart Parmenter
f1bd0b9f98 [win32] correct win32 show_glyphs for non-y-aligned text
Correctly calculate destination glyph coordinates for win32_show_glyphs.
2006-09-12 16:27:40 -07:00
Vladimir Vukicevic
0166538126 [win32] Support for DDBs, AlphaBlend fix
Add support for the win32 surface using DDBs for similar surfaces and the
like when the orignal surface is created from a DC, or when a DDB is
explicitly created.  A DIB is still created if alpha is required.

Also fixes a case where blitting win32 RGB24 -> ARGB32 surfaces was causing
alpha to leak into the ARGB32 surface instead of being set to fully opaque.
2006-09-12 16:08:40 -07:00
Stuart Parmenter
a10bbecaf8 [win32] Allow for creating a font from a HFONT
(cherry picked from 677f6c84f9beae3afd375663fed0a440007ebca2 commit)
2006-05-18 17:29:18 -07:00
Vladimir Vukicevic
0852cd4492 Win32: rename cairo_surface_create_dib to cairo_surface_create_with_dib
Also adds some documentation for the win32 creation functions.
(cherry picked from 3a148bd620d709237d98a72f65118759bfc5a76d commit)
2006-02-27 12:53:38 +01:00
Vladimir Vukicevic
0fe8a93d95 Win32: expose win32 DIB (image) surface creation function, and DC getter
Adds cairo_win32_surface_create_dib() for creating a win32 DIB-backed
surface with a particular format.  Also exposes
cairo_win32_surface_get_dc() to obtain the DC of a win32 surface.
(cherry picked from 0813a1b9b6f35d786fe8cb0d4748771023956cde commit)
2006-02-27 12:53:36 +01:00
Carl Worth
63c208d83d Give cairo_public an empty definition by default.
Add new cairo_public macro before every public function call prototype.
2005-09-07 16:31:22 +00:00
Carl Worth
95859dc2c6 Add an #error if cairo-foo.h is included when cairo was compiled without support for the foo backend. 2005-05-14 10:03:56 +00:00
Carl Worth
10c88d4244 Change definitions of everything in cairo-features.h to prefer #if over #ifdef.
Track #ifdef -> #if changes.
Add support to automatically change all #ifdef CAIRO_HAS to #if CAIRO_HAS.
2005-05-06 21:33:22 +00:00
Carl Worth
d6fc5ee5e9 Remove cairo_set_target_surface and all other backend-specific cairo_set_target functions. Require a cairo_surface_t* to call cairo_create.
Port to use new cairo_create interface.
Rewrite all tests that were using cairo_set_target_surface to instead create a temporary cairo_t, (eventually to be replaced with cairo_begin_group).
2005-05-06 13:23:41 +00:00
Carl Worth
62212867d4 Minor changes to header file inclusion recommended by Oleg Smolsky for better portability to MSVC. 2005-04-07 12:56:43 +00:00
Owen Taylor
47824dee31 src/cairo.h src/cairo-gstate.c src/cairo-font.c: Add a cairo_font_face_t type to hold a description of a font face. Replace cairo_set_font() with cairo_set_font_face().
src/cairoint.h src/cairo-font.c src/cairo-gstate.c: Add "cairo_simple_font_face" for family/weight/slant and use it to implement font naming for the toy API.
src/cairo-ft.h src/cairo-ft-font.c cairo-win32.h cairo-win32-font.c: Switch the FreeType and Win32 backends over to using cairo_font_face_t.
src/cairo.h src/cairo-font.c src/cairo-ft-font.c src/cairo-win32-font.c: Pass in font matrix and CTM separately rather than as a composite scale when creating fonts; allows removing font_matrix argument to metrics functions.
src/cairoint.h src/cairo-font.c src/cairo-ft-font.c src/cairo-win32-font.c: Remove cairo_font_scale_t type, just use cairo_matrix_t and ignore translations.
src/cairo-ft.h src/cairo-ft-font.c: Remove cairo_ft_font_get_pattern() -- it can't work for all FreeType backend fonts and doesn't seem particularly useful.
Rename cairo_font_get_extents() to cairo_font_extents()
split font functions into a separate section.
Fix locking order problem.
Add caches for simple font faces and from cairo_font_face_t to cairo_scaled_font_t.
src/cairo.h src/cairoint.h src/cairo-font.c src/cairo-win32-font.c src/cairo-ft-font.c src/cairo-gstate.c src/cairo-gstate-private.h: Rename cairo_font_t to cairo_scaled_font_t.
2005-04-07 11:03:59 +00:00
Owen Taylor
81fd7e53e3 Fix line endings (reported by Hans Breuer) 2005-02-20 18:19:10 +00:00
Owen Taylor
913e39b6ee src/cairo_font.c src/cairo.h doc/public/cairo-sections.txt: Add cairo_font_extents().
src/cairo_win32_font.c src/cairo-win32.h doc/public/cairo-sections.txt: Rename cairo_font_create_for_logfont() into cairo_font_create_for_logfontw() to make clear what it takes. Don't add cairo_font_create_for_logfonta() for now.
2005-02-02 23:14:55 +00:00
Owen Taylor
72a4420234 Add some functions to select the font into a device context with the intention to enable callers to use, e.g, Uniscribe.
Use 'hdc' not 'dc' for param/variable name.
Return immediately if height or width is 0.
2005-02-02 18:57:40 +00:00
Owen Taylor
199c41dafe Mostly-functioning Win32 font backend; no glyph paths yet.
Turn on building of the Win32 font backend.
src/cairo-win32-private.h src/Makefile.am: Private header for the Win32 backend.
src/cairo-win32-private.h src/cairo_win32_surface.c: Internally export _cairo_win32_print_gdi_error() for use in the font code.
src/cairo-win32-private.h src/cairo_win32_surface.c: Add _cairo_win32_surface_create_dib to create a DIB surface.
src/cairo-win32-private.h src/cairo_win32_surface.c: Add _cairo_surface_is_win32()
Check for vasnprintf.
Add a simple fixed-buffer size snprintf fallback in the absence of vasnprintf.
2005-02-01 21:45:51 +00:00
Owen Taylor
711d7965c8 src/cairo_unicode.c src/cairoint.h src/Makefile.am: Add _cairo_utf8_to_utf16(), _cairo_utf8_to_ucs4() based on code from GLib.
Add CAIRO_STATUS_INVALID_STRING
Use _cairo_utf8_to_ucs4().
Add cairo_bool_t
Add TRUE/FALSE definitions.
src/cairo.[ch] src/cairoint.h src/cairo_gstate.c: switch cairo_in_stroke/cairo_in_fill and all the functions used to implement them over to cairo_bool_t.
2005-02-01 15:06:33 +00:00
Owen Taylor
86c8755e59 configure.in src/cairo-features.h.in: Add a check for the Windows platform and --enable-win32. Also add some (currently always off) stubs for native Win32 fonts.
Make building the PDF backend conditional on having FreeType.
src/Makefile.am src/cairo_win32_surface.c src/cairo_win32_font.c src/cairo-win32.h: Add a Win32 backend using GDI and software fallbacks Font code is not yet there yet, but it works with the fontconfig backend.
src/cairo_gdip_font.cpp src/cairo_gdip_surface.cpp: Remove remnants of a GDI+ based backend.
Prefer platform-specific font backends to the fontconfig backend.
2005-01-31 16:11:37 +00:00