summaryrefslogtreecommitdiff
path: root/platform/gl
AgeCommit message (Collapse)Author
2018-09-05gl: Close password dialog when pressing Escape key.Tor Andersson
2018-09-05gl: Allow varying font sizes in text rendering.Tor Andersson
2018-08-21gl: Don't forget to terminate the string when clearing a text field.Tor Andersson
2018-08-10The proper term is apparently 'filename extension', not 'suffix'.Tor Andersson
2018-08-10gl: Add glutLeaveMainLoop workaround for Apple's GLUT library.Tor Andersson
2018-08-10Use proper name space for form field flag constants.Tor Andersson
2018-08-10Respect NoRotate flag for icon-based annotations.Tor Andersson
2018-08-10Use stubs instead of conditional compile with HAVE_LIBCRYPTO.Tor Andersson
The macro is only set when building the pkcs7-helper library, so cannot be used by client code. Build stub functions when compiling the pkcs7-openssl helper library without libcrypto.
2018-08-10gl: Adobe allows border widths from 0 to 12.Tor Andersson
2018-08-10Rejig pdf_update_page and pdf_update_annot.Tor Andersson
The intent is for a user to iterate over the annotations on a page calling pdf_update_annot for each one. If this function returns true, then the annotation has changed since the last time it was called, and the user needs to re-render. pdf_update_page is a simple loop over the annotations on a page, for use if you only care about page level granularity. Users should no longer look at or change the pdf_annot.has_new_ap field.
2018-07-09Silence gcc warnings about non-const arguments.Sebastian Rasmussen
2018-07-06Only do signing if HAVE_LIBCRYPTO is defined.Robin Watts
2018-07-06gl: Add signing UI for Digital Signatures.Tor Andersson
All the "Sign" button does for now is recreate the appearance stream.
2018-07-06gl: Multi-line labels.Tor Andersson
2018-07-05Add fz_transform_page helper function.Tor Andersson
Create a matrix that transforms a page with resolution and rotation, and grid fits the resulting bounding box.
2018-07-05Pass rects by value: device and document interface.Tor Andersson
2018-07-05Pass matrices by value: device and document interface.Tor Andersson
2018-07-05Pass rect and matrix by value in geometry functions.Tor Andersson
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.
2018-07-05gl: Poll changed annots with pdf_update_page, and clear after rendering.Tor Andersson
2018-07-04Add fz_snap_selection function to snap selection to chars/words/lines.Tor Andersson
Updates the input point coordinates, and also returns a quad with appropriate UI handles.
2018-07-04gl: Track modifier keys during mouse events too.Tor Andersson
2018-07-04Rename pdf_get_annot_contents to pdf_annot_contents.Tor Andersson
Since the function no longer returns ownership of the string, use the common naming convention.
2018-06-22Use fz_quad type in structured text and selection/highlighting.Tor Andersson
2018-06-22Keep copy of decoded utf8 text string in pdf_obj.Tor Andersson
Removes the need to alloc/free text strings in the API, allowing for simple functions like pdf_dict_get_text_string.
2018-06-22gl: Edit widget values in annotation editor.Tor Andersson
2018-06-22gl: Add -J flag to disable Javascript in PDF forms.Tor Andersson
2018-06-22gl: Transform rotated pages so that the pixmap origin is always at 0,0.Tor Andersson
2018-06-22gl: Multi-line text input fields.Tor Andersson
2018-06-22gl: Use black backdrop when displaying an inverted (black) page.Tor Andersson
2018-06-22gl: Rework how popup menus are handled.Tor Andersson
Handle the logic immediately, but put the drawing commands into a display list that is invoked after the rest of the UI is drawn.
2018-06-22gl: Increase font size on high resolution displays.Tor Andersson
Also increase the max resolution in the zoom list.
2018-06-22gl: Edit FreeText default appearance.Tor Andersson
2018-06-22gl: Add annotation editor.Tor Andersson
* 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.
2018-06-22gl: Add layout packer and various widgets.Tor Andersson
* 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.
2018-05-18gl: Zoom in/out centered on the mouse cursor.Tor Andersson
2018-02-12Clear search highlight when opening a new search, or hitting escape.Tor Andersson
2018-01-31Fix 698878: Mouse wheel scrolling.Tor Andersson
2017-12-13gl: Tell glut to return from main loop when the window closes.Tor Andersson
This allows us to clean up memory so we can check for memory leaks. Also fix one memory leak.
2017-11-17Purge remnants of GLFW.Tor Andersson
2017-11-13gl: Fix GLUT build on MacOS X.Tor Andersson
2017-11-13gl: Make KEY_DELETE match actual ASCII DEL code.Tor Andersson
2017-11-13gl: Fix busy loop.Tor Andersson
glutMainLoopEvent does not sleep for events, so use glutMainLoop instead and destroy the window when 'q' is pressed rather than just setting the quit flag.
2017-11-09Fix windows build of GL app.Robin Watts
2017-11-08Be a bit paranoid.Tor Andersson
We currently don't handle errors here, but if we do in the future we don't want stale pointers lying around.
2017-11-08Select and copy structured text by lines.Tor Andersson
2017-11-08gl: Remove GLFW and reinstate FreeGLUT.Tor Andersson
GLFW doesn't build on Visual Studio 2005 anymore, and I don't have time to keep up with the changes. So, we're switching back to FreeGLUT, which is more stable. I've added the two missing features that made us switch to GLFW in the first place: input methods and system clipboard support. If MuPDF is compiled with our version of FreeGLUT, we now use these functions: * glutKeyboardExtFunc * glutSetClipboard * glutGetClipboard
2017-11-08Use fz_snprintf in preference to snprintf.Robin Watts
If nothing else, this avoids warnings on VS2005.
2017-09-20gl: Remember scroll position in history and bookmarks.Tor Andersson
2017-09-20gl: Scroll to link coordinates when following links.Tor Andersson
Also save link coordinates in outline nodes.
2017-09-20gl: Add 'I' invert colors command.Tor Andersson
Also apply an inverse gamma correction curve.