]> git.tdb.fi Git - libs/gui.git/log
libs/gui.git
8 years agoExport the xrandr feature
Mikko Rasa [Tue, 13 Oct 2015 19:59:01 +0000 (22:59 +0300)]
Export the xrandr feature

It's used in display_platform.h to optionally include some memberse in
DisplayPrivate.

8 years agoProper support for copying images
Mikko Rasa [Mon, 13 Jul 2015 09:55:04 +0000 (12:55 +0300)]
Proper support for copying images

8 years agoHandle interlaced PNG images
Mikko Rasa [Mon, 13 Jul 2015 09:54:06 +0000 (12:54 +0300)]
Handle interlaced PNG images

9 years agoFix the Windows version check in Touchscreen::is_available
Mikko Rasa [Mon, 22 Dec 2014 14:38:00 +0000 (16:38 +0200)]
Fix the Windows version check in Touchscreen::is_available

9 years agoAdd a dedicated exception class for unavailable input devices
Mikko Rasa [Fri, 19 Dec 2014 12:05:47 +0000 (14:05 +0200)]
Add a dedicated exception class for unavailable input devices

9 years agoAdd an availability check to Touchscreen
Mikko Rasa [Fri, 19 Dec 2014 12:05:07 +0000 (14:05 +0200)]
Add an availability check to Touchscreen

9 years agoDirty hack to pull the image loaders in when linking statically
Mikko Rasa [Fri, 19 Dec 2014 03:26:04 +0000 (05:26 +0200)]
Dirty hack to pull the image loaders in when linking statically

I can't find any way to add metadata to the symbols to forcibly pull them
in, so this will have to do.

9 years agoAdd a helper class for registering image loaders
Mikko Rasa [Fri, 19 Dec 2014 03:24:52 +0000 (05:24 +0200)]
Add a helper class for registering image loaders

9 years agoAvoid using too much CPU time in the event tester
Mikko Rasa [Fri, 19 Dec 2014 03:07:10 +0000 (05:07 +0200)]
Avoid using too much CPU time in the event tester

9 years agoImprove SmoothControl range API
Mikko Rasa [Fri, 19 Dec 2014 03:04:11 +0000 (05:04 +0200)]
Improve SmoothControl range API

Since gestures can generate axis values greater than one, the ability to
disable the upper threshold becomes necessary.

9 years agoAdd a gesture detector input device
Mikko Rasa [Fri, 19 Dec 2014 02:56:33 +0000 (04:56 +0200)]
Add a gesture detector input device

9 years agoAdd an activator system to Control
Mikko Rasa [Fri, 19 Dec 2014 02:24:55 +0000 (04:24 +0200)]
Add an activator system to Control

9 years agoGenerate and handle WM_CHAR messages on Windows
Mikko Rasa [Fri, 19 Dec 2014 01:55:38 +0000 (03:55 +0200)]
Generate and handle WM_CHAR messages on Windows

9 years agoFix an incorrect all to set_button_state in Touchscreen::touch_up
Mikko Rasa [Fri, 19 Dec 2014 01:38:29 +0000 (03:38 +0200)]
Fix an incorrect all to set_button_state in Touchscreen::touch_up

9 years agoAdd a generic directory for fallback implementations
Mikko Rasa [Fri, 19 Dec 2014 01:37:31 +0000 (03:37 +0200)]
Add a generic directory for fallback implementations

9 years agoAdd touchscreen support on Android
Mikko Rasa [Fri, 19 Dec 2014 01:30:41 +0000 (03:30 +0200)]
Add touchscreen support on Android

9 years agoInherit input devices using Window::signal_input_event from sigc::trackable
Mikko Rasa [Thu, 13 Nov 2014 20:41:09 +0000 (22:41 +0200)]
Inherit input devices using Window::signal_input_event from sigc::trackable

9 years agoTouchscreen input device
Mikko Rasa [Thu, 13 Nov 2014 20:40:25 +0000 (22:40 +0200)]
Touchscreen input device

Currently only implemented for Windows.

9 years agoInitialize Display::primary_monitor to 0
Mikko Rasa [Wed, 12 Nov 2014 20:46:21 +0000 (22:46 +0200)]
Initialize Display::primary_monitor to 0

9 years agoSet window title to application name by default
Mikko Rasa [Wed, 12 Nov 2014 20:45:24 +0000 (22:45 +0200)]
Set window title to application name by default

9 years agoInherit sigc::trackable in Android's PlatformDisplayPrivate
Mikko Rasa [Wed, 12 Nov 2014 20:42:13 +0000 (22:42 +0200)]
Inherit sigc::trackable in Android's PlatformDisplayPrivate

9 years agoAndroid support
Mikko Rasa [Sun, 12 Oct 2014 15:30:32 +0000 (18:30 +0300)]
Android support

Everything should work to some degree at least, though some details are
still missing.

9 years agoCosmetic changes
Mikko Rasa [Sun, 12 Oct 2014 14:22:03 +0000 (17:22 +0300)]
Cosmetic changes

9 years agoDrop the DrawContext class
Mikko Rasa [Sun, 12 Oct 2014 14:18:57 +0000 (17:18 +0300)]
Drop the DrawContext class

I've never actually used it, and 2D graphics are all but dead.  I don't
have any real interest of implementing it on other platforms either.

9 years agoCorrect the offset of function keys in the X11 keymap
Mikko Rasa [Sun, 12 Oct 2014 14:12:40 +0000 (17:12 +0300)]
Correct the offset of function keys in the X11 keymap

9 years agoZero-initialize JsDevice name buffer to avoid valgrind warning
Mikko Rasa [Sun, 12 Oct 2014 14:11:53 +0000 (17:11 +0300)]
Zero-initialize JsDevice name buffer to avoid valgrind warning

9 years agoAvoid compiler warning for a declared but unused function
Mikko Rasa [Sun, 12 Oct 2014 14:11:04 +0000 (17:11 +0300)]
Avoid compiler warning for a declared but unused function

9 years agoCreate GLContext::priv later to avoid memory leaks
Mikko Rasa [Sun, 12 Oct 2014 14:09:13 +0000 (17:09 +0300)]
Create GLContext::priv later to avoid memory leaks

9 years agoLet platform header determine (part of) the contents of Display::Private
Mikko Rasa [Sun, 12 Oct 2014 13:54:29 +0000 (16:54 +0300)]
Let platform header determine (part of) the contents of Display::Private

This simplifies things a bit as there's no need to declare dummy typedefs
for MonitorHandle and ModeHandle if they are not used.  It also makes the
upcoming Android support a lot easier to accomplish.

9 years agoSubclass NSWindow to eat keyDown events so they won't beep
Mikko Rasa [Sat, 11 Oct 2014 13:26:06 +0000 (16:26 +0300)]
Subclass NSWindow to eat keyDown events so they won't beep

9 years agoFix application activation on OS X <10.6
Mikko Rasa [Sat, 11 Oct 2014 13:24:36 +0000 (16:24 +0300)]
Fix application activation on OS X <10.6

9 years agoCompatibility changes for building on OS X 10.5
Mikko Rasa [Sat, 11 Oct 2014 09:45:15 +0000 (12:45 +0300)]
Compatibility changes for building on OS X 10.5

9 years agoCompile OS X .m files in C99 mode
Mikko Rasa [Sat, 11 Oct 2014 09:43:36 +0000 (12:43 +0300)]
Compile OS X .m files in C99 mode

Some features, such as // comments and mixed declarations and code, are
not compatible with ANSI C.

9 years agoAdd a game controller input device
Mikko Rasa [Thu, 11 Sep 2014 09:37:22 +0000 (12:37 +0300)]
Add a game controller input device

Currently only implemented for Linux.

10 years agoFix build with XRandR headers not installed
Mikko Rasa [Tue, 8 Apr 2014 16:03:32 +0000 (19:03 +0300)]
Fix build with XRandR headers not installed

10 years agoFix skipping bytes in JpegLoader
Mikko Rasa [Tue, 8 Apr 2014 15:42:28 +0000 (18:42 +0300)]
Fix skipping bytes in JpegLoader

Bytes in the buffer are not considered as processed yet, and are included
in count.

10 years agoFill in more fields of DEVMODE to avoid a crash
Mikko Rasa [Fri, 24 Jan 2014 17:49:25 +0000 (19:49 +0200)]
Fill in more fields of DEVMODE to avoid a crash

10 years agoSet panning when changing modes with XRandR
Mikko Rasa [Wed, 22 Jan 2014 19:54:28 +0000 (21:54 +0200)]
Set panning when changing modes with XRandR

Apparently, certain sequences can confuse Nvidia drivers at least and
result in weird configurations if this is not done.

10 years agoOnly set resizing flag to true in Window::reconfigure
Mikko Rasa [Wed, 22 Jan 2014 19:52:21 +0000 (21:52 +0200)]
Only set resizing flag to true in Window::reconfigure

This ensures that multiple consecutive reconfigure calls with the same
size won't reset the flag to false and prevent resize signal emission.

10 years agoOnly restore mode if the window is still visible
Mikko Rasa [Sun, 12 Jan 2014 11:45:23 +0000 (13:45 +0200)]
Only restore mode if the window is still visible

10 years agoChange video mode before reconfiguring the window
Mikko Rasa [Sun, 12 Jan 2014 11:43:20 +0000 (13:43 +0200)]
Change video mode before reconfiguring the window

This prevents the window options from getting out of sync if the video
mode can't be set.

10 years agoExpose functions for finding video modes from Display
Mikko Rasa [Sun, 12 Jan 2014 10:58:39 +0000 (12:58 +0200)]
Expose functions for finding video modes from Display

10 years agoClear resizing flag on Windows when resizing completes
Mikko Rasa [Sat, 11 Jan 2014 18:29:18 +0000 (20:29 +0200)]
Clear resizing flag on Windows when resizing completes

10 years agoRemove some leftover XF86VidMode fragments
Mikko Rasa [Sat, 11 Jan 2014 18:28:50 +0000 (20:28 +0200)]
Remove some leftover XF86VidMode fragments

10 years agoRemove an unused global variable
Mikko Rasa [Thu, 17 Oct 2013 07:43:46 +0000 (10:43 +0300)]
Remove an unused global variable

It was a remnant from an early stage of developing the window close
handling.  The design in which it was used was discarded, but this
variable went unnoticed.

10 years agoUse windowShouldClose rather than windowWillClose
Mikko Rasa [Thu, 17 Oct 2013 07:40:01 +0000 (10:40 +0300)]
Use windowShouldClose rather than windowWillClose

This prevents a crash when the autorelease pool is released (no clue what
exactly goes wrong) and allows the application to decide whether to close
the window or not.

10 years agoTighten memory management in ObjC code
Mikko Rasa [Thu, 17 Oct 2013 07:38:15 +0000 (10:38 +0300)]
Tighten memory management in ObjC code

10 years agoReturn true to indicate the error was handled
Mikko Rasa [Thu, 17 Oct 2013 07:13:38 +0000 (10:13 +0300)]
Return true to indicate the error was handled

10 years agoGuard against no image loaders being enabled
Mikko Rasa [Wed, 16 Oct 2013 18:12:44 +0000 (21:12 +0300)]
Guard against no image loaders being enabled

10 years agoCall setActivationPolicy to make non-bundled programs work
Mikko Rasa [Fri, 11 Oct 2013 13:47:35 +0000 (16:47 +0300)]
Call setActivationPolicy to make non-bundled programs work

10 years agoAvoid the unpadding loop with kCGImageAlphaNoneSkipFirst
Mikko Rasa [Fri, 11 Oct 2013 09:52:43 +0000 (12:52 +0300)]
Avoid the unpadding loop with kCGImageAlphaNoneSkipFirst

The data looks like this:

  X RGB X RGB X RGB X RGB ...

Ignoring the first padding byte allows treating it as RGBX.  The padding
bytes move to different RGB triplets, but they're going to get ignored
anyway.

10 years agoAdd native libjpeg loader
Mikko Rasa [Thu, 10 Oct 2013 20:49:06 +0000 (23:49 +0300)]
Add native libjpeg loader

10 years agoTweak QuartzLoader a bit
Mikko Rasa [Thu, 10 Oct 2013 17:58:05 +0000 (20:58 +0300)]
Tweak QuartzLoader a bit

Apparently OS X 10.5 uses kCGImageStatusReadingHeader, while 10.8 uses
kCGImageStatusIncomplete.  Also check that we actually got an image when
trying to load.

10 years agoAdd pixel formats with a padding component
Mikko Rasa [Thu, 10 Oct 2013 17:55:47 +0000 (20:55 +0300)]
Add pixel formats with a padding component

10 years agoAllow images to have padding between rows
Mikko Rasa [Thu, 10 Oct 2013 17:36:14 +0000 (20:36 +0300)]
Allow images to have padding between rows

10 years agoSupport for using Quartz to load images on OS X
Mikko Rasa [Tue, 8 Oct 2013 10:39:23 +0000 (13:39 +0300)]
Support for using Quartz to load images on OS X

10 years agoDetect loading errors from DevIL
Mikko Rasa [Mon, 7 Oct 2013 18:13:40 +0000 (21:13 +0300)]
Detect loading errors from DevIL

10 years agoImplement automatic registration of image loaders
Mikko Rasa [Mon, 7 Oct 2013 18:13:15 +0000 (21:13 +0300)]
Implement automatic registration of image loaders

10 years agoUse a RefPtr of correct type
Mikko Rasa [Mon, 7 Oct 2013 16:43:02 +0000 (19:43 +0300)]
Use a RefPtr of correct type

10 years agoChange the ImageLoader API to use IO::Seekable
Mikko Rasa [Mon, 7 Oct 2013 11:08:19 +0000 (14:08 +0300)]
Change the ImageLoader API to use IO::Seekable

Trying to operate on purely streamed I/O turns out to be more headache
than it's worth.  I'll implement a generic adaptor in the IO namespace
if it's needed at a later point.

10 years agoFix the cocoa error dialog so that it actually compiles
Mikko Rasa [Sun, 6 Oct 2013 16:50:30 +0000 (19:50 +0300)]
Fix the cocoa error dialog so that it actually compiles

10 years agoUse logic operators to collapse nested conditionals in Build file
Mikko Rasa [Sun, 6 Oct 2013 08:32:00 +0000 (11:32 +0300)]
Use logic operators to collapse nested conditionals in Build file

10 years agoMake the image loading code more modular
Mikko Rasa [Sat, 5 Oct 2013 23:00:57 +0000 (02:00 +0300)]
Make the image loading code more modular

Instead of being embedded in the Image class, there's now a separate
ImageLoader class with subclasses for each image type.  In the future
some kind of plugin system may be implemented.

DevIL code was also extensively reworked to get rid of the need to read
the entire file to memory.

10 years agoImplement graphical reporting for uncaught exceptions
Mikko Rasa [Sat, 5 Oct 2013 12:20:18 +0000 (15:20 +0300)]
Implement graphical reporting for uncaught exceptions

10 years agoUpdate .gitignore
Mikko Rasa [Tue, 1 Oct 2013 14:12:43 +0000 (17:12 +0300)]
Update .gitignore

10 years agoAdd OpenGL context support on OS X
Mikko Rasa [Tue, 1 Oct 2013 14:11:53 +0000 (17:11 +0300)]
Add OpenGL context support on OS X

10 years agoSet window title for ev
Mikko Rasa [Tue, 1 Oct 2013 11:20:06 +0000 (14:20 +0300)]
Set window title for ev

10 years agoBasic OS X support
Mikko Rasa [Tue, 1 Oct 2013 11:19:25 +0000 (14:19 +0300)]
Basic OS X support

The event tester works and reports sensible events.  Some things are
still missing, notably GL contexts and window resize tracking.

10 years agoTry to guess the primary monitor if xrandr isn't making any sense
Mikko Rasa [Thu, 26 Sep 2013 22:01:28 +0000 (01:01 +0300)]
Try to guess the primary monitor if xrandr isn't making any sense

10 years agoExpose a lot more information through the Monitor struct
Mikko Rasa [Thu, 26 Sep 2013 16:29:18 +0000 (19:29 +0300)]
Expose a lot more information through the Monitor struct

This includes current mode and location in a multi-monitor setup.  Rotated
monitors and modes are also supported.  It's enough for many common cases,
though more exotic layouts still cannot be restored.

I'm not certain exactly how Windows handles multiple monitors.  Additional
research is required.

10 years agoAdd a missing #include
Mikko Rasa [Thu, 26 Sep 2013 16:26:59 +0000 (19:26 +0300)]
Add a missing #include

10 years agoInitial XRandR support
Mikko Rasa [Thu, 26 Sep 2013 12:32:49 +0000 (15:32 +0300)]
Initial XRandR support

It can't yet restore most multi-monitor configurations correctly.

10 years agoExtend the video mode API to support multiple monitors
Mikko Rasa [Wed, 25 Sep 2013 18:33:57 +0000 (21:33 +0300)]
Extend the video mode API to support multiple monitors

Xf86vidmode can't support this and will be replaced with XRandR in the
imminent future.

10 years agoMove struct VideoMode to its own header
Mikko Rasa [Tue, 24 Sep 2013 15:56:24 +0000 (18:56 +0300)]
Move struct VideoMode to its own header

10 years agoFix handling of various special keys on Windows
Mikko Rasa [Fri, 12 Jul 2013 08:41:33 +0000 (11:41 +0300)]
Fix handling of various special keys on Windows

10 years agoCreate Display::priv also on Windows
Mikko Rasa [Thu, 11 Jul 2013 19:12:03 +0000 (22:12 +0300)]
Create Display::priv also on Windows

10 years agoSet multisample attributes correctly on glX
Mikko Rasa [Thu, 11 Jul 2013 19:11:38 +0000 (22:11 +0300)]
Set multisample attributes correctly on glX

10 years agoForce c'tors and d'tors of classes with external symbols into the library
Mikko Rasa [Mon, 24 Jun 2013 10:20:00 +0000 (13:20 +0300)]
Force c'tors and d'tors of classes with external symbols into the library

10 years agoFix a missing parameter in wgl version of GLContext
Mikko Rasa [Wed, 5 Jun 2013 19:35:56 +0000 (22:35 +0300)]
Fix a missing parameter in wgl version of GLContext

10 years agoUse mspio rather than iostreams for printing errors
Mikko Rasa [Wed, 5 Jun 2013 07:01:46 +0000 (10:01 +0300)]
Use mspio rather than iostreams for printing errors

10 years agoAdd KEY_NONE constant
Mikko Rasa [Wed, 5 Jun 2013 06:59:22 +0000 (09:59 +0300)]
Add KEY_NONE constant

10 years agoSplit platform-specific parts into separate directories
Mikko Rasa [Fri, 24 May 2013 18:08:06 +0000 (21:08 +0300)]
Split platform-specific parts into separate directories

11 years agoFix event connections in the event example
Mikko Rasa [Thu, 25 Apr 2013 12:27:28 +0000 (15:27 +0300)]
Fix event connections in the event example

11 years agoAllow event handling to be interrupted
Mikko Rasa [Sun, 24 Mar 2013 15:06:09 +0000 (17:06 +0200)]
Allow event handling to be interrupted

11 years agoReplace Image::load_memory with load_io
Mikko Rasa [Wed, 16 Jan 2013 16:37:11 +0000 (18:37 +0200)]
Replace Image::load_memory with load_io

11 years agoAdd the target type to lexical_cast invocations
Mikko Rasa [Sat, 1 Dec 2012 09:55:16 +0000 (11:55 +0200)]
Add the target type to lexical_cast invocations

11 years agoFix mouse buttons on Windows
Mikko Rasa [Sat, 1 Dec 2012 09:54:57 +0000 (11:54 +0200)]
Fix mouse buttons on Windows

11 years agoUpdate the Build file with new Builder features
Mikko Rasa [Wed, 12 Sep 2012 08:23:47 +0000 (11:23 +0300)]
Update the Build file with new Builder features

11 years agoProvide access to the desktop mode
Mikko Rasa [Wed, 12 Sep 2012 08:20:58 +0000 (11:20 +0300)]
Provide access to the desktop mode

This allows an application to default to the desktop resolution in a
reliable way.

11 years agoXKeycodeToKeysym is deprecated
Mikko Rasa [Wed, 25 Jul 2012 19:47:55 +0000 (22:47 +0300)]
XKeycodeToKeysym is deprecated

12 years agoFix a stray header name
Mikko Rasa [Tue, 6 Sep 2011 20:33:27 +0000 (23:33 +0300)]
Fix a stray header name

12 years agoUse hashes to make button/axis indices in Hub predictable
Mikko Rasa [Sun, 4 Sep 2011 19:46:31 +0000 (22:46 +0300)]
Use hashes to make button/axis indices in Hub predictable

12 years agoOutput character events in the event example
Mikko Rasa [Tue, 30 Aug 2011 18:27:46 +0000 (21:27 +0300)]
Output character events in the event example

12 years agoFall back to Device::get_*_name if name can't be determined
Mikko Rasa [Tue, 30 Aug 2011 18:26:39 +0000 (21:26 +0300)]
Fall back to Device::get_*_name if name can't be determined

12 years agoAvoid generating events for unknown keys
Mikko Rasa [Tue, 30 Aug 2011 18:26:21 +0000 (21:26 +0300)]
Avoid generating events for unknown keys

12 years agoFix windows compilation
Mikko Rasa [Tue, 30 Aug 2011 18:08:49 +0000 (21:08 +0300)]
Fix windows compilation

12 years agoAdd an event handling example
Mikko Rasa [Tue, 30 Aug 2011 18:07:30 +0000 (21:07 +0300)]
Add an event handling example

12 years agoStyle update: remove alignment
Mikko Rasa [Tue, 30 Aug 2011 18:04:30 +0000 (21:04 +0300)]
Style update: remove alignment

12 years agoRemove modifier constants
Mikko Rasa [Tue, 30 Aug 2011 18:01:22 +0000 (21:01 +0300)]
Remove modifier constants
A new more flexible system will be implemented in the near future

12 years agoDiscard the EventSource abstraction
Mikko Rasa [Tue, 30 Aug 2011 18:00:29 +0000 (21:00 +0300)]
Discard the EventSource abstraction
Instead handle native input event directly in Keyboard and Mouse