Age | Commit message (Collapse) | Author |
|
Several things irk me about passing values as const pointers:
* They can be NULL, which is not a valid value.
* They require explicit temporary variables for storage.
* They don't compose easily in a legible manner, requiring
weird pointer passing semantics where the variable being assigned
is hidden as an argument in the innermost function call.
* We can't change the value through the pointer, requiring yet more
local variables to hold copies of the input value.
In the device interface where we pass a matrix to a function, we often
find ourselves making a local copy of the matrix so we can concatenate
other transforms to it. This copying is a lot of unnecessary busywork
that I hope to eventually avoid by laying the groundwork with this
commit.
This is a rather large API change, so I apologize for the inconvenience,
but I hope the end result and gain in legibility will be worth the pain.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Trigger correctly on AS state changes.
* Handle the case when there is no AP (such as for unchecked checkboxes):
- Don't try to create Widget/Btn streams.
- Don't flag/unflag when AP synthesis throws.
|
|
|
|
|
|
Updates the input point coordinates, and also returns a quad with
appropriate UI handles.
|
|
|
|
Since the function no longer returns ownership of the string, use the
common naming convention.
|
|
|
|
|
|
Previously we would have tripped over this, thrown an error
and aborted loading the whole page. Any non-stream, non "Identity"
CIDToGIDMaps now produce a warning rather than an error so we don't
stop processing the entire page.
|
|
The Dingbats and Symbol fonts have not been changed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Removes the need to alloc/free text strings in the API, allowing
for simple functions like pdf_dict_get_text_string.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Handle the logic immediately, but put the drawing commands into a
display list that is invoked after the rest of the UI is drawn.
|
|
Also increase the max resolution in the zoom list.
|
|
|
|
* Select with right mouse, edit with left mouse.
* Clamp movement to page area.
* Integrate page scroll offset into matrices.
* Edit Ink annotations.
* Initialise important annotation properties when creating them.
* Deselect annotation when pressing ESC.
* Add polygon/polyline annotation editing.
* Tweak polygon editing.
* Edit square/circle annotations.
* Cancel canvas edits on right click.
* Expand selectable areas and grab zones for rects.
* Edit line annotations.
* Edit caret annotations.
* Return true when value has changed (checkbox and slider).
* Add popup menu widget: Menu items are drawn at ui_end to overlay other widgets properly.
* Use popup menu to set icons.
* Fix text selection translation offset.
* Edit quad point annotations.
* Set user and modification date when creating new annotations.
* Add select widget.
* Edit line endings.
* Edit highlight opacity.
* Create properly sized stamp annotations.
* Edit FreeText annotations.
* Trigger list selection on mouse-up instead of mouse-down.
* Use index in ui_select.
* Edit Freetext quadding.
* Fix windows build issues.
* Use 'const void *' for ids.
* Add file dialog to choose file when none given on command line.
* Add save file dialog.
* Add pdfwrite options to save dialog.
* Add error dialog instead of dying silently on exceptions.
* Add password dialog.
* Add warning dialog that does not exit the program.
* Show in title bar when document is modified.
* Separate motion and passive motion callbacks.
* Add /Volumes 'disk' for MacOS X mount points.
* Tweak input focus/blur handling.
* Use popup menu to create annotations instead of big list of buttons.
* Update appearance after canvas edits too.
* Release old grab before checking for new grab and taking focus.
* Set cursor shape depending on hot item.
* Draw prettier widgets.
* Use integers for slider to allow snapping to values.
* Add 'ui.gridsize' to ease layout of buttons and text fields.
* Tweak file dialog layout.
* Bevels around lists and scroll bars.
* Only add new points to the ink list when drawing.
* Use named color constants instead of hardcoding color values.
* Adjust layout and which properties to edit for each annotation.
* Use a panel for search field.
* Add splitter, dialogs, and panel padding.
* Popup menus above the button if they don't fit below it.
* Use triangle strip to draw check mark.
|
|
* Move window setup and swap buffer calls into ui_begin/end.
* Rearrange source files.
* Simplify grab logic:
Make it more robust in the face of user errors, such as setting
ui.active to NULL explicitly.
* Copy text to primary selection as well.
|
|
|
|
|
|
|
|
|
|
The number 0 is a valid percentage number.
|
|
|
|
Format single-line Widget/Tx fields vertically centered.
|
|
|
|
|