Chris Wilson
0df43251d4
[replay] Take advantage of unresolved fonts
...
As Behdad has changed the underlying ft-font to accept unresolved patterns,
take advantage of that to simplify the replay code.
2008-12-18 12:06:35 +00:00
Chris Wilson
97a00bdd4e
[cairoint.h] Wrap macro in parenthesis
...
Ensure that the stride calculation macro is not influenced by surrounding
precedence issues by enclosing it in a pair of parenthesis.
2008-12-18 10:40:14 +00:00
Chris Wilson
aa65e756d4
[script] Avoid creating 0x0 windows
...
XCreateWindow dies if asked to create a 0x0 window, so don't and use a 1x1
pixel window for a zero-sized surface.
2008-12-18 10:40:14 +00:00
Chris Wilson
6458903c95
[image] Eliminate the short-lived context used for coercing.
...
When coercing from one image format to another we performed a paint
operation using a temporary context - this is overkill as we can just call
_cairo_surface_paint() directly.
2008-12-18 10:40:14 +00:00
Chris Wilson
9b46d13b6c
[trace] Runtime version check.
...
Check that the application is using cairo >= 1.9 before attempting to
query the mime-data.
2008-12-18 10:40:13 +00:00
Chris Wilson
2d790daa95
[pattern] Use a solid pattern for a uniform gradient.
...
If each color stop in a gradient is identical, replace the gradient
surface with a simple solid surface. As seen in the wild.
2008-12-18 10:40:13 +00:00
Chris Wilson
25a4677200
[analysis] Use approximate extents.
...
Use the approximate path based extents to avoid tessellation.
2008-12-18 10:40:13 +00:00
Behdad Esfahbod
18bca91411
[twin] close_path the 'o'
2008-12-18 02:12:14 -05:00
Behdad Esfahbod
5ee6aad471
[toy] Use twin font if font backend returns UNSUPPORTED
2008-12-17 18:19:24 -05:00
Behdad Esfahbod
eb069094ea
Treat any toy family starting with "@cairo:" as request for twin
2008-12-17 18:19:24 -05:00
Jeff Muizelaar
32c6610905
Call _cairo_error when propagating error status from the font_face.
2008-12-17 17:43:37 -05:00
Jeff Muizelaar
1d72e53c3e
Add a missing _cairo_error() to a bunch of status returns.
2008-12-17 17:42:18 -05:00
Behdad Esfahbod
af3a892c3e
[ft] Remove stale comment
2008-12-17 16:45:28 -05:00
Karl Tomlinson
e4d7c87b5e
[ft] Don't call FT_Done_Face() on faces we did not create
2008-12-17 16:40:12 -05:00
Behdad Esfahbod
6778a5f67a
[.gitignore] Update
2008-12-17 16:20:18 -05:00
Behdad Esfahbod
26f4719999
[scaled-font] Improve docs
2008-12-17 16:08:32 -05:00
Behdad Esfahbod
f7ab65e9b0
Clean up toy font face handling
...
This commit moves the toy-to-real mapping from the scaled font creation
time to font face creation. A toy font face will keep an internal ref
to an implementation face. Then cairo_scaled_font_create() will simply
substitute the implementation face before creating anything.
This also modifies the cairo-ft toy creation in that we now create a
non-resolved pattern and store it in a cairo-ft font-face. We then
do the resolving and unscaled font creation at scaled-font creation
time. This also means that cairo_ft_font_face_create_for_pattern()
now accepts non-resolved patterns too, and does the right thing about
them. As much as that can be called right.
Some testing of toy font creation performance is in order, as is testing
win32 and quartz font backends.
2008-12-17 15:13:35 -05:00
Chris Wilson
43edb4dd7b
Fix compilation with gcov
...
We need to add --coverage to LDFLAGS, so create CAIRO_LDFLAGS and use that
to populate AM_LDFLAGS.
2008-12-14 16:44:03 +00:00
Chris Wilson
bcea3151d6
[test] Add missing joins.ref.png
...
Missed this file when adding the reference images for joins.
2008-12-14 16:44:03 +00:00
Chris Wilson
8cec548854
[NEWS] Add notes for 1.8.6
...
Add the historical blurb for 1.8.6.
2008-12-14 16:42:59 +00:00
Chris Wilson
0a1d194ad8
[perf] Fix for git-1.6
...
git-1.6 moved all the subcommands out of the PATH so update our usage.
2008-12-14 16:41:17 +00:00
Chris Wilson
1c2eba92c1
[RELEASING] Update Makefile for git-1.6
...
Git moved all the subcommands out of the PATH, so we need to update our
usage.
2008-12-14 16:41:01 +00:00
Chris Wilson
2fa6b63537
[RELEASING] Correct a few minor typos.
...
As I was reading through the instructions, take the opportunity to fix a
few spelling mistakes.
2008-12-14 16:39:55 +00:00
Chris Wilson
1950abd14c
[doc] Fix erroneous doc comment.
...
A normal comment was marked as a gtk-doc entry and thus causing gtk-doc to
complain.
2008-12-14 16:39:24 +00:00
Chris Wilson
2b7c6f361a
[skiplist] Allocate elements in chunks.
...
Use a pool allocator to preallocate a chunk from which to allocate the
skiplist elements (if we failed to reallocate from the freelists).
2008-12-12 13:43:36 +00:00
Chris Wilson
903b39c304
[test] Make the xlib-fallback use the image refs.
...
The xlib-fallback is closer to the image than the xlib backend, so prefer
not to use the xlib.ref.png.
2008-12-12 13:43:36 +00:00
Chris Wilson
792057539b
[test] Only delete output images beneath output.
...
We were using an overly-liberal find that also deleted copied output for
use in CAIRO_REF_DIR if that directory was below test/. So only delete
files below output/ (which should only be used by cairo-test).
2008-12-12 13:43:36 +00:00
Chris Wilson
913cbad25e
[test] Add a simple joins test case
...
Exercise joins between short (<LINE_WIDTH) lines - used in debugging
stroke-to-path.
2008-12-12 13:43:30 +00:00
Chris Wilson
9f4f41de7d
[tutorial] Correct twin font name
...
We changed the name for the builtin font from "cairo" to "<cairo>" to
reduce possible naming conflicts - update the tutorial to match.
2008-12-12 13:23:09 +00:00
Chris Wilson
4ff884fe4d
[test] Check idempotency of append_path() -> copy_path()
...
The API should preserve the precision across the public interface so that
the user is able to retrieve the co-ordinates that he used to construct
the path. However since we transform the path to a 24.8 fixed-point
internal represent we currently incur a precision-loss - the affects of
which can be seen in the miter-precision test case for example. It is
planned to move to keeping the path as doubles until the backend
explicitly requests the fixed-point coodinates (and some backends, e.g.
pdf, might only ever use the doubles). Then, barring rounding errors
during path transformations, we should be able to return the exact path
the user set (under an identity CTM, of course ;-).
2008-12-12 13:23:09 +00:00
Chris Wilson
fe4af195a7
[test] Add a rectilinear-dash test case.
...
Exercise dashing on pixel-aligned boundaries to test extending the
rectilinear stroker to handle dashes.
2008-12-12 13:23:08 +00:00
Chris Wilson
1d68ee73f8
[pattern] Compute the combined color content.
...
When multiplying two colors together, the combined content is simply the
or of the their contents.
2008-12-12 13:21:11 +00:00
Chris Wilson
30cef3116e
[spans] Add a sentinel cell to the cell_list.
...
By terminating the list with a cell for INT_MAX, we remove a few
conditionals from the hot-paths.
2008-12-12 12:00:45 +00:00
Chris Wilson
3b2bb95249
[spans] Embed 64 edge buckets into polygon
...
Frequently we only need a few y-buckets, so embed 64 into the parent
structure.
2008-12-12 12:00:45 +00:00
Chris Wilson
70235df72e
[spans] Pool capacity is in bytes not elements.
...
Set the polygon capacity to a shade under 8k, not 200 bytes, reducing the
number of malloc calls made by the scan convertor by a factor of 40!
2008-12-12 12:00:44 +00:00
Chris Wilson
6f284587a4
[script] Add examples
...
Add some simple examples to demonstrate CairoScript, courtesy of M Joonas
Philaja.
2008-12-12 12:00:44 +00:00
Chris Wilson
463dc28913
[script] Allocate the interned strings from a permanent pool
...
Reduce memory fragmentation by allocating the permanent strings from a
single pool.
2008-12-12 12:00:44 +00:00
Chris Wilson
adc9c90d79
[script] Freed object cache.
...
Cache the last freed object to reduce malloc pressure.
2008-12-12 12:00:44 +00:00
Chris Wilson
1042909796
[script] Replay multiple files.
...
Iterate over the argument vector and replay each file on the command line.
2008-12-12 12:00:44 +00:00
Chris Wilson
c5c04528b5
[script] Slab allocator
...
Allocate small objects from a pool and maintain a per-size free-list.
2008-12-12 12:00:44 +00:00
Chris Wilson
83f0e6cf62
[script] Inline the stack push
...
Frequently to push an object onto the stack all we need is to simply
perform the struct copy - so inline it and only call the out-of-line
function if we need to enlarge the stack.
2008-12-12 12:00:43 +00:00
Chris Wilson
565b3d6ad6
[script] Switch to hyphens.
...
Using hyphen in the operators is easier to read than underscores.
2008-12-12 12:00:43 +00:00
Chris Wilson
3abfd836a0
[script] Null constructor
...
Expose 'null', principally for comparison purposes.
2008-12-12 12:00:43 +00:00
M Joonas Pihlaja
7540ac7f23
[script] Reverse direction of bitshift.
...
Positive shift counts should shift left according to PostScript.
2008-12-12 12:00:43 +00:00
Chris Wilson
4be479cc63
[script] Add simple to integer converter
...
Simple operator to coerce the type of the object on top of the stack to
integer.
2008-12-12 12:00:43 +00:00
Chris Wilson
6711b591b9
[script] Simple replay.
...
Basic script executer.
2008-12-12 12:00:42 +00:00
Chris Wilson
177a68ef3e
[script] Add a few mathematical constants
...
Just pi and the sqrt(2) for the moment, more to come on demand.
2008-12-12 12:00:42 +00:00
Chris Wilson
5dfaa22a57
[script] Add repeat operator.
...
Simple operator to repeat procedure n times.
2008-12-12 12:00:42 +00:00
M Joonas Pihlaja
738cb32745
[script] Fix \t escapes in string literals.
...
Typo \r -> \t.
2008-12-12 12:00:42 +00:00
M Joonas Pihlaja
265ebd372a
[script] Flesh out the relational comparison operators to be more PostScript-like.
...
The relational comparison operators can now compare strings vs names
by content as well as performing automatic type promotions on the
numeric types. For other types relational comparisons succeeed
only if the values compare equal according to the eq operator, and
put the interpreter into a type-error state otherwise.
2008-12-12 12:00:42 +00:00