summaryrefslogtreecommitdiff
path: root/platform/gl
AgeCommit message (Collapse)Author
2018-11-13gl: Calculate accurate initial window size when scaling to fit screen.Tor Andersson
2018-11-13Bug 692592: Handle relative file links.Tor Andersson
The core library doesn't know where a document comes from, since we can open it as a stream, etc. Let the viewer handle relative file URLs.
2018-11-09Fix 696310: Limit the initial window size to fit on the screen.Tor Andersson
Also zoom to fit the window.
2018-11-09Fix 695893: Match page rotation when creating FreeText annotations.Tor Andersson
This uses an undocumented Rotate property of annotations, which is also used by Adobe.
2018-11-09Update mupdf-gl documentation.Tor Andersson
2018-11-07Fix 699840: Use saved sig_widget pointer to sign signatures, not selected_annot.Tor Andersson
2018-11-07Fix 700053: Add 'decrypt' option to pdf_save_document.Tor Andersson
This option is exposed as the -D flag to mutool clean. Allow saving a document without encryption. The next step is to allow saving a document with new encryption, but this may require a fair amount of rejigging since the PDF write code to keep separate doc->crypt objects for decryption and encryption.
2018-10-23Remove extra blank lines.Tor Andersson
2018-10-23gl: Fix launching mupdf-gl to the page number passed on the command line.Tor Andersson
2018-10-04Fix simple typos.1.14.0Tor Andersson
2018-10-03gl: Save history in all normal exit situations.Tor Andersson
Also save history when glut closes the window or otherwise exits the main loop.
2018-09-25gl: Save history and bookmarks in ~/.mupdf.history.Tor Andersson
Use MuJS to parse/write JSON object.
2018-09-25gl: Fix dialog size calculation in text field dialog.Tor Andersson
2018-09-21gl: Form filling UI.Tor Andersson
When clicking a text/choice/signature field, pop up a dialog to fill in the value. Hide widget annotations in annotation editor.
2018-09-21gl: Break UI lines on space characters.Tor Andersson
2018-09-19gl: ifdef freeglut specific API calls so it will build on MacOS.Tor Andersson
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.