Commit Graph

27 Commits

Author SHA1 Message Date
Huang Qi
fd78f83e02 drivers/video: Refine the update region notification mechanism
1.Expose the notification through fb_vtable_s::updatearea
2.Incorporate old nx_notify_rectangle into the new updatearea callback
3.Migrate the calle of nx_notify_rectangle to fb_vtable_s::updatearea

Change-Id: Ia3d1f73e8757b2d381586d76ec6adc16c810018d
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2020-08-10 08:08:33 +02:00
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
c4f618e590 graphics/nxbe: This seems to fix the last of software cursor bugs. On the LPC54, it looks pretty clean. Not flickery as I feared. Probably not so good on low end displays. Possible transient artifacts? Not sure, maybe. Or maybe my eyes are playing tricks froom staring at this too long. 2019-04-13 15:08:32 -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
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
4f97f15b5e graphics/, libc/: Change some err() ERRORS to warn() WARNINGS or info() 2016-06-12 11:11:57 -06:00
Gregory Nutt
a1469a3e95 Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err() 2016-06-11 15:50:49 -06:00
Gregory Nutt
1cdc746726 Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -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
Gregory Nutt
f8024cf409 More trailing whilespace removal 2014-04-13 16:22:22 -06:00
patacongo
638dcbf1b5 More NX Console fixes... good progress but still not ready for prime time
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4533 42af7a65-404d-4744-a932-0658087f49c3
2012-03-28 01:52:00 +00:00
patacongo
28752af7d4 NFS update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4532 42af7a65-404d-4744-a932-0658087f49c3
2012-03-28 00:10:43 +00:00
patacongo
227ca5f8a2 Oops.. back out most of the last change
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4060 42af7a65-404d-4744-a932-0658087f49c3
2011-10-23 22:07:13 +00:00
patacongo
00dae09cda Fix an error in some graphics error handling
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4059 42af7a65-404d-4744-a932-0658087f49c3
2011-10-23 21:27:03 +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
7ae6a40baa minor refactoring
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1322 42af7a65-404d-4744-a932-0658087f49c3
2008-11-28 01:33:18 +00:00
patacongo
3ba6819bb9 Graphics backend
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1320 42af7a65-404d-4744-a932-0658087f49c3
2008-11-27 22:56:45 +00:00