Commit Graph

265 Commits (f16f285a0ab30cfc4a0f3ab7e26842f289a89bd3)

Author SHA1 Message Date
Andy Meneely c931a860a1 Args refactoring: combine polygon, tri, and bezier args into coords
As a rule, I think it's better to group args classes together have some extra overhead of extracting unused parameters. For example, we don't *need* to extract "n" for the circle, but the ease of having logically grouped classes is better than having tons of different classes tailored to each command.
2015-06-16 21:14:43 -04:00
Andy Meneely b5903293d7 Layouts use strings as keys, so that must be realistic 2015-06-11 17:20:02 -04:00
Andy Meneely 243b3836c4 Refactor to remove instance_eval
When you have a hammer...
2015-06-11 17:19:17 -04:00
Andy Meneely c5e00f1877 Employing the new args refactoring on all shapes 2015-06-11 16:16:08 -04:00
Andy Meneely 8a7841d64f Add dash option to drawing operations
Currently only impacts rect, but it will impact others with the new design shortly
2015-06-08 15:26:33 -04:00
Andy Meneely 12c5cd675b Added line cap and join settings for rect and curve
More forthcoming - these are proof-of-concept
2015-06-08 14:17:46 -04:00
Andy Meneely c1e410fe72 First foray into args class refactoring: rect
So far, I really like this approach. It allows us to push validation logic out of the Card class and into its own set of classes that can be more easily tested.

Fixes #75, but we've got a lot more work to do in getting this full scale
2015-06-08 13:36:23 -04:00
Andy Meneely 6c60f21bb0 Refactored drawing to get fill_n_stroke
Contributes to #75
2015-06-04 16:40:55 -04:00
Andy Meneely da0fe1b118 Onward and upward. 2015-05-26 21:04:15 -04:00
Andy Meneely 981a9eab0e I dub thee v0.6.0 2015-05-26 20:57:58 -04:00
Andy Meneely a20100f3f8 Hiding private stuff from public documentation 2015-05-26 20:55:11 -04:00
Andy Meneely 3bbc787025 Add polygon method to dsl
Testing and documentation too.

Closes #67
2015-05-22 06:12:48 -04:00
Andy Meneely f0b71531aa Allowing close_path to pass through 2015-05-22 05:59:08 -04:00
Andy Meneely c3e76a93aa Fix a syntax error 2015-05-22 05:36:32 -04:00
Andy Meneely 6d8e44920b Allow unit conversion on radius for star 2015-05-22 05:32:27 -04:00
Andy Meneely 6cf6ec8099 Fix documentation for shapes 2015-05-22 05:32:03 -04:00
Andy Meneely 0853b6a708 Finish regression testing of star 2015-05-21 18:29:38 -04:00
Andy Meneely 4b63716dfc Star feature works, testing is still pending 2015-05-21 09:29:01 -04:00
Andy Meneely 14e04a89c7 Started the star feature
Contributes to #72

[skip ci]
2015-05-21 09:29:00 -04:00
Andy Meneely ae1a7bd084 Set a non-symbol default for text embeds
Fixes #73, but in #74 we'll get it right.
2015-05-20 18:30:08 -04:00
Andy Meneely 0154b13e68 Use cairo context wrapper for fill colors on marketing
Actually deliver what I promised

Fixes #71
2015-05-19 16:49:13 -04:00
Andy Meneely 31b583d134 Implementation of hand 2015-05-19 14:40:21 -04:00
Andy Meneely 824e26d2c2 Hacked together a basic example to work from 2015-05-13 09:42:14 -04:00
Andy Meneely f0f9b7680d Starting a basic hand command 2015-05-11 23:30:30 -04:00
Andy Meneely d80d3884b1 Cleanup 2015-04-30 11:48:47 -04:00
Andy Meneely dab544a53b Add ellipse method
Also experimenting with using stroke_preserve, which in turn may make the other methods less repetitive.

Closes #66
2015-04-30 11:48:21 -04:00
Andy Meneely 71defb9e33 Fix color handling with text outline stroking
Needed to set squibcolor prior to translating the coordinate system so that gradients are relative to the card (as is documented). This also means stroking is done AFTER drawing the text, which looks better anyway.
2015-04-30 09:54:41 -04:00
Andy Meneely e974880e03 Add 'data' field to svg method for loading XML directly
Implements #65
2015-04-29 16:49:38 -04:00
Andy Meneely ca70b88be9 Cleanup 2015-04-28 22:31:04 -04:00
Andy Meneely 7c69cad506 Text: outline a string with a color or gradient
Fill color is still the same with 'color' (i.e. can be overridden by markup still), but now there's a stroke_width and a stroke_color option that, when stroke_width > 0, will draw an outline below the text. Since this isn't a Pango feature, we can't do markup for outlines. (Maybe make that a feature request to Pango if you want it.)

Implements #51
2015-04-28 22:27:26 -04:00
Andy Meneely 1c76d03e19 Dead code 2015-04-28 21:08:01 -04:00
Andy Meneely 1dc89ae76a Port global text hints to the new conf 2015-04-28 21:01:49 -04:00
Andy Meneely 923f346575 Redesigning how config files are read, stored, and delegated
With the new design, we take the load off of deck.rb and simply delegate methods over to the new conf.rb. This means that things like `antialias` is now available as a method to the normal Squib scripts for easy checking (without being mutable). Squib::Conf also handles parsing and defaults, and any potential input validation we need to do in the future.

Typographer is also set up now as a deck-wide configuration. This may change in the future if we want typography customization per-command, although that seems like a strange use case.

Lots of tests for this one, and lots of cross-cutting concerns in this commit.

This commit also includes some tweaks to rspec tests, including tagging of slow tests for a `rake spec_fastonly`

Conflicts:
	spec/samples/samples_regression_spec.rb
	spec/spec_helper.rb
	squib.sublime-project
2015-04-28 20:31:53 -04:00
Andy Meneely 25773a8ee5 Better regression tests for roo 2015-04-27 08:50:03 -04:00
Andy Meneely 035cd6259e Fix global hinting logic
Fixes #63
2015-04-16 21:24:21 -04:00
Andy Meneely a64e608b0a Onward and upward. 2015-04-16 20:56:01 -04:00
Andy Meneely 4a0c5e78b6 Fix PDF scaling issue
Properly compute the size of the PDF based on DPI and PDF-specific resolution (i.e. 72dpi).

Closes #62
2015-04-13 22:59:34 -04:00
Andy Meneely a47e26535d Starting a bugfix version 2015-04-13 22:49:42 -04:00
Andy Meneely 8ec0a5e09a Onward and upward. 2015-04-13 21:44:37 -04:00
Andy Meneely fbefe098cc I dub thee v0.5.0 2015-04-13 21:42:39 -04:00
Andy Meneely 0616512bd6 Set font antialiasing from global antialiasing
This is a workaround until we get a proper solution in #59
2015-04-13 21:26:41 -04:00
Andy Meneely e268246337 Allow specific gray and subpixel choices for antialiasing 2015-04-13 21:01:46 -04:00
Andy Meneely 0e22c52b0f Fix up config defaults
Also: removing include because Yard is stupid.
2015-04-07 21:32:55 -04:00
Andy Meneely 063d5156d6 Allow configuration of typographical replacements, e.g. smart quotes
If you're living in a non-UTF-8 character set, then you can configure what quotes are smartly changed.
If my regexes are messing things up, you can also turn this off with smart_quotes: false
Also updated docs.

This closes #50
2015-04-07 21:21:00 -04:00
Andy Meneely beb46a9e1c Place embedded icons based on byte offset
Fixes #57
2015-04-07 19:43:16 -04:00
Andy Meneely 211e7c13b3 Fix typography replacements with embeds
Enable embedded icons tests again
2015-04-07 12:20:40 -04:00
Andy Meneely a5d1cb60f2 Complete overhaul of smart quotes to "typographer"
See README for details

Contributes to #50
2015-04-07 00:16:06 -04:00
Andy Meneely 674397c005 Smart quotes!
Closes #50
2015-04-04 16:02:20 -04:00
Andy Meneely 874bdba8bc Fix a string replacement issue.
Contributes to #30
2015-04-04 09:33:04 -04:00
Andy Meneely 19cad2cdb8 Using a platform-specific fix for zero-width letters on embedding icons
Contributes to #30 and our zero-width letter woes.
2015-04-04 09:15:21 -04:00