Commit Graph

5250 Commits

Author SHA1 Message Date
Matthew Flatt
e67865a8ba remove unnecessary finalization (GTK+ 3)
Essentially the same as the GTK+ 2 repair.
2015-08-18 10:58:13 -06:00
Matthew Flatt
1c65d669f3 remove unnecessary finalization (GTK+ 2)
Remove a misguided attempt to improve finaliation while
making GTK+ 3 changes, although this change affected only
GTK+ 2.
2015-08-18 10:28:44 -06:00
Matthew Flatt
ef07121b9f recognize GTK+ 3 scroll events 2015-08-18 09:35:32 -06:00
Matthew Flatt
6c609bf54e remove accidentally added files 2015-08-18 09:05:22 -06:00
Matthew Flatt
9058a148f8 another try at fixing graphics for GTK+ 3
The `gdk_window_ensure_native` call for window freeze and thaw
really is needed, but since it is incompatible with transparent
canvases, don't use freeze and thaw at all for those.

Meanwhile, repair the backing bitmap for both GTK+ 2 and 3
for a transparent canvas when a scale is in effect. And go
back to using X11 bitmaps for backing a canvas on GTK+ 3;
I'm not sure that's the right choice, but probably putting
the bitmap data on the X server instead of client is the
right thing.

Finally, restore GL bitmap support (partly by using X11 bitmaps
to back a canvas).

GL rendering to a canvas with a backing scale is not yet right,
either for GTK+ 2 or 3.
2015-08-18 09:01:28 -06:00
Matthew Flatt
8ee481840c fix transparent canvases on GTK+ 3
For GTK+ 2, we used `gdk_window_ensure_native` to make sure
that freeze and thaw work. For GTK+ 3, `gdk_window_ensure_native`
seems not to be needed and prevents a canvas from drawing over
its background.
2015-08-17 20:11:40 -06:00
Matthew Flatt
6184a0d5c9 clarify PLT_DISPLAY_BACKING_SCALE interaction with GTK+ 2/3 2015-08-17 06:05:58 -06:00
Matthew Flatt
63a62b0832 fixup for old versions of GTK+ 2
Restore support for Debian Lenny, at least.
2015-08-16 20:55:39 -06:00
Matthew Flatt
3f4302e948 hide editor-canvas%'s => blink timer expires
Ensure that a blink timer for a canvas stops running
if the canvas becomes hidden. Otherwise, though a race
condition, it's possible for a GUI program to never
terminate if a "focus-out" event gets lost.
2015-08-16 20:55:35 -06:00
Matthew Flatt
f42356da3f Support and prefer GTK+ 3 on Unix/X
The main advantage of GTK+ 3 is better support for HiDPI
displays. If GTK+ 3 libraries are not available or if the
`PLT_GTK2` environment variable is defined, GTK+ 2 is used
as before.
2015-08-16 20:55:35 -06:00
Robby Findler
204c0b6694 fix bug in spell checker refactoring from 3dcecc00 2015-08-14 05:48:29 -05:00
Matthew Flatt
9a1d8f7215 unbreak framework 2015-08-13 10:51:46 -06:00
Robby Findler
3dcecc00ae refactor to do some random testing 2015-08-13 09:11:09 -05:00
Matthew Flatt
bf79fb427c ignore system scaling factor if it's not a positive rational 2015-08-04 15:45:30 -06:00
Matthew Flatt
54de09f30e add PLT_DISPLAY_BACKING_SCALE
Also, fix conversion of @2x bitmaps to pixbufs at 2.0 scale.
2015-08-03 20:44:29 -06:00
Alexis King
63b27a8eeb Use a regular expression to indent for loops in framework 2015-08-02 22:08:52 -05:00
Matthew Flatt
e7399f2bcc another repair
(Mangled the previous commit.)
2015-08-01 19:14:05 -06:00
Matthew Flatt
84a5dfb367 fix HiDPI detection
Work (in unscaled mode) on systems where the relevant
setting is not available.
2015-08-01 19:08:50 -06:00
Matthew Flatt
5b7bf69a13 HiDPI support on Unix (Gtk2)
Support GUI scaling in much the same way as on Windows, where
the OS setting ("org.gnome.desktop.interface.scaling-factor"
times "...text-scaling-factor") determines the scale that is
used for both graphics and GUI sizing.

As I understand it, a complete solution requires porting to
Gtk3. With Gtk2, the graphical part of a widget doesn't scale.
Text and image labels should scale correctly, though.
2015-08-01 18:06:12 -06:00
Sam Tobin-Hochstadt
60410356cc Pass strings to raise-type-error.
Closes PR 13178.
2015-07-30 14:35:18 -07:00
Robby Findler
db36b91d1f adjust frame.rkt framework tests to be more drdr friendly 2015-07-26 19:34:53 -05:00
Matthew Flatt
3a69a3fa4a move drawing tests to "draw-test" 2015-07-26 09:47:59 -06:00
Robby Findler
f91ec3df28 fix all-string-snips? predicate 2015-07-25 16:44:22 -05:00
Robby Findler
1d22f69ba6 adjust the canvas test suite to not do the separate-process dance 2015-07-22 12:20:56 -05:00
Robby Findler
2d654de678 use the proper preferences panel 2015-07-22 12:18:32 -05:00
Robby Findler
b528e0e682 limit font sizes to exact integers in [0,255] 2015-06-26 10:47:12 -05:00
Matthew Flatt
a2152d5666 start test suite for file/gif
This test belongs in a "draw-test" package, which doesn't exist yet,
because the old drawing tests also rely on a GUI; I'll fix that
eventually.
2015-06-17 09:33:00 +08:00
Robby Findler
a5d55ff817 add the close-when-hidden? argument to in-terminal 2015-06-08 22:36:28 -05:00
Robby Findler
91dd69ba8d a hack that tries to make it so that the open-recent menu
item is wrong less often
2015-06-05 09:37:23 -05:00
Robby Findler
1db898cd00 fix indentation for datum-case 2015-06-05 09:37:12 -05:00
Robby Findler
c9862f17c9 fix typos 2015-06-04 08:51:35 -05:00
Robby Findler
0d3ad12362 guard the result of start-skip-spaces better
closes PR 15087
2015-06-03 18:00:54 -05:00
Matthew Flatt
6ed4157c51 fix boundary case for responding to horizontal scroll request 2015-05-21 08:52:01 -06:00
Matthew Flatt
12612670f6 editor-canvas%: fix scroll refresh when scroll bars are hidden 2015-05-21 08:52:01 -06:00
Jay McCarthy
6fa420d947 add get-scaled-client-size 2015-05-20 12:59:51 -04:00
Matthew Flatt
b882281b33 canvas% on-scroll: call in non-atomic mode
Add a missing exit from atomic mode on the way to an overidden
`on-scroll` method.

Closes PR 15068
2015-05-19 14:01:07 -06:00
Jay McCarthy
bc87ded206 adding version requirement for hires-mode 2015-05-19 14:59:33 -04:00
Matthew Flatt
030a02a53c add {get,set}-area-selctable to pasetboard% 2015-05-16 09:05:22 -06:00
Robby Findler
6dcdb9744f use the info-frame's idea of which editor is important for the
goto-line shortcut
2015-05-12 11:24:54 -05:00
Robby Findler
d1e3a991cd disable overwrite mode when the overwrite keybindings are disabled 2015-05-12 09:02:53 -05:00
Robby Findler
ab998c9f53 add all-string-snips<%> and all-string-snips-mixin
This is pulled out of DrRacket, mostly just to be able to add test cases
2015-05-09 11:17:54 -05:00
Robby Findler
d9fd94f608 fix handling of snip%s that don't have a snipclass 2015-05-04 18:01:47 -05:00
gfbee
860f14b7ed Typo 2015-05-04 10:29:21 -05:00
Jay McCarthy
be6bd0160c supporting opengl hires mode 2015-05-03 08:13:22 -04:00
Robby Findler
2517366ea3 bump version number for snip-special change 2015-05-02 17:50:28 -05:00
Robby Findler
469add8d57 add 'snip-special's to text:ports<%> in the framework
related to PR 15049
2015-05-02 17:49:19 -05:00
Matthew Flatt
f9870b0a4f clarify fullscreen requirements for Mac OS X 2015-05-01 12:41:09 -06:00
Jay Kominek
f71f1c3ccb win32 support for frame% fullscreen and is-fullscreened? 2015-05-01 12:39:55 -06:00
Jay Kominek
eb2b279712 gtk support for frame% fullscreen and is-fullscreened? 2015-05-01 12:39:33 -06:00
Robby Findler
955eb9755c remove problematic and unecessary syncronization 2015-04-30 09:01:46 -05:00