Commit Graph

23 Commits

Author SHA1 Message Date
Gregory Nutt da314276a1 NX graphics: This commit adds support for hiding windows. This features is needed by Twm4Nx: When a window is iconfied, the icon should appear on the background and the window should disappear (i.e., be hidden). The windows needs to remain healthy and to be updated in all ways, but it cannot affect the display content.
Converserely, when the icon is clicked, the icon needs to be hidden on the backgound and the window needs to be restored in its current state (which may be different than the state of the window at the time it was iconified.

Squashed commit of the following:

    graphics/:  Add checks in all places that I can think to avoid doing something stupid with hidden windows

    Improve some naming

    Add a new file missing in last commit.

    graphics/:  Initial, incomplete support for hiding windows.
2019-05-05 15:21:52 -06:00
Gregory Nutt 099d9f94f4 graphics/nxbe: More work cursor coordinates. Still at least one big bug in the logic. 2019-04-13 10:13:00 -06:00
Gregory Nutt e514402c28 graphics/nxbe: Add some missing checks: Don't permit the software cursor to be enabled until it has been assigned an image; don't perform any cursor operations while the cursor is disabled. 2019-04-10 07:27:43 -06:00
Gregory Nutt cbb09c55ec graphics/nxbe and nxmu: This bring the software cursor to code complete. Still untested. Some flicker is expected. It has not been determined if that level of flicker is acceptable or not. 2019-04-09 15:09:10 -06:00
Gregory Nutt 0a57cf0b8a graphics/nxbe: Implement hooks that will eventually support software 'sprites', i.e., things like OSD functionality, a software cursor, selection rectangles, window resize preview, etc. 2019-04-05 15:06:59 -06:00
Gregory Nutt 372e8b86a4 libs/libnx/nxmu/nx_filltrapezoid.c: Fix a coordinate system error. When no clipping rectangle is falls, it falls back to use the entire window as for the clip. However, that window must then then be in window relative coordinates, not in absoute device coordinates. 2019-03-20 12:26:45 -06:00
Gregory Nutt 10b73fde9d graphics/: Correct logic for copy of bit maps with resolution less than 8 bits from the per-window framebuffer to the device. 2019-03-18 09:45:09 -06:00
Gregory Nutt 92554257b9 Squashed commit of the following:
graphics/nxbe/nxbe_bitmap.c:  Fix another coordinate system problem.

    graphics/:  Review use of device coordinate system with window frambebuffer and make fixes accordingly.

    graphics/nxbe/nxbe_fill.c:  Fix a coordinate system bug.  Was trying to update the window fraembuffer using the device coordinate system.  Need to use the relative coordinate system.

    graphics/:  Use DEBUGASSERT instead of return an error since the is no user to handle the errors within the NX server.  Use CONFIG_DEBUG_GRAPHICS instead of CONFIG_DEBUG_FEATURES in most cases.

    graphics/:  Nothing under graphics/ should set the errno.
2019-03-17 11:34:45 -06:00
Gregory Nutt 9a97eb0fcf This commit brings the per-framebuffer logic to code-complete. Still untested.
Squashed commit of the following:

    Update TODO list

    graphics/nxbe:  The moverectangle renderer now supports updates to the per-window framebuffer (unclipped) as well as the graphics device memory (clipped).

    graphics/nxbe:  The filltrapezond renderer now supports updates to the per-window framebuffer (unclipped) as well as the graphics device memory (clipped).

    graphics/nxbe:  The getrectangle method now returns data from the per-window framebuffer if available.

    graphics/nxbe:  The fillrectangle renderer now supports updates to the per-window framebuffer (unclipped) as well as the graphics device memory (clipped).

    graphics/nxmu:  If a window supports a per-window framebuffer, then redraw callbacks are suppressed and the device content is updated from the shadow, per-window framebuffer.  graphics/nxbe:  The copyrectangle renderer now supports updates to the per-window framebuffer (unclipped) as well as the graphics device memory (clipped).

    graphics/nxbe/nxbe_setsize.c:  Reallocate the per-window framebuffer when the window size changes.
2019-03-15 12:15:33 -06:00
Gregory Nutt 554a3ee824 graphics: Extend NXBE data structures to include the per-window framebuffer (pwfb) vtable. Add logic to initialize the pwfb vtable. 2019-03-14 14:38:56 -06:00
Gregory Nutt 7cf88d7dbd Make sure that labeling is used consistently in all function headers. 2018-02-01 10:00:02 -06:00
Gregory Nutt 1cdc746726 Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -06:00
Gregory Nutt 8d9fc9a029 NX: Fix some problems with the last commit 2016-04-17 12:28:03 -06:00
Gregory Nutt 52b308cbe1 NX: Add configurable callout to external logic to handle display update events 2016-04-17 11:57:43 -06:00
Gregory Nutt d71185ae46 Remove comment blocks before empty code sections 2016-04-17 09:24:41 -06:00
Gregory Nutt bee0eda68c Make some file section headers more consistent with standard 2015-04-08 08:32:05 -06:00
patacongo 9e066bcb90 NX trapezoid fixes; Various NxWM fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4720 42af7a65-404d-4744-a932-0658087f49c3
2012-05-10 16:25:56 +00:00
patacongo dc3c6ea49f Fix numerous errors in trapezoid rendering and wide line drawing algorithms
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3841 42af7a65-404d-4744-a932-0658087f49c3
2011-08-03 21:49:31 +00:00
patacongo bc4d0f1167 Move NX header files to include/nuttx/nx
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3816 42af7a65-404d-4744-a932-0658087f49c3
2011-07-24 20:49:01 +00:00
patacongo 23931c39e6 Changing NuttX fixed size type names to C99 standard names -- things will be broken for awhile
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2350 42af7a65-404d-4744-a932-0658087f49c3
2009-12-15 18:12:29 +00:00
patacongo 9414c64d0d Remove redundant origin value
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1393 42af7a65-404d-4744-a932-0658087f49c3
2008-12-02 20:57:45 +00:00
patacongo fcb0515526 filltrapezoid needs a clipping rectangle
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1389 42af7a65-404d-4744-a932-0658087f49c3
2008-12-02 16:38:35 +00:00
patacongo 5638ac274f Add support for trapezoidal fills
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1323 42af7a65-404d-4744-a932-0658087f49c3
2008-11-28 13:20:36 +00:00