Commit Graph

35 Commits

Author SHA1 Message Date
Adam Wulkiewicz
49bbaf51a0 [MOS-550] Improve refresh of the display
1. Implement partial refresh.
2. Implement refresh canceling mechanism.
3. Refactor some parts of the gui and display code.

ad 1.
- Detect parts of the screen changed since last update and merge them
  into bigger regions. These regions defines parts of the context sent
  to the display.
- Refresh the region covering all of the parts since this is the most
  time consuming part and the size of the refreshed region doesn't
  change the time much.
- Refresh the whole screen if deep refresh is requested and previously
  fast refresh was used. This is needed to prevent unwanted artifacts
  in some cases.

ad 2.
- Separate display update and refresh logic.
- Divide image display message handling into two handlers, one updating
  and other one refreshing the screen.
- Add cancel refresh message and use it to cancel refresh during update.
- Store sum of refresh regions gathered during updates to refresh them
  all at once at the end.
2022-10-11 20:00:33 +02:00
Adam Wulkiewicz
f7771013f9 [MOS-550] Revert - Implement eink partial refresh
This reverts commit 41d6e786b6.
2022-09-27 13:14:54 +02:00
Adam Wulkiewicz
41d6e786b6 [MOS-550] Implement eink partial refresh
Detect parts of the screen changed since last update and merge them into
bigger regions. These regions defines parts of the context sent to the
display.
Refresh the region covering all of the parts since this is the most time
consuming part and the size of the refreshed region doesn't change the
time much.
Refresh the whole screen if deep refresh is requested and previously
fast refresh was used. This is needed to prevent unwanted artifacts in
some cases.

Refactor some parts of the gui and display code.
2022-09-22 15:50:30 +02:00
Piotr Tański
1d2f5cf7a4 [EGD-7754] Dates bumped in disclaimers
Dates bumped from 2020 to 2021.
2021-10-11 19:08:26 +02:00
Marcin Smoczyński
bd90e57516 [BH-907] Split utils module into components
Split module-utils into smaller components for better dependency
management. Fix many dependencies throughout the project.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-09-23 15:14:40 +02:00
Lukasz Skrzypczak
2911b6b4a1 [BH-378] PR changes
PR changes - mainly includes
2021-06-08 12:24:29 +02:00
Lukasz Skrzypczak
7fee0d9cfb [BH-378] Utils move log to library
Moved log to separate library
2021-06-08 12:24:29 +02:00
Maciej Janicki
e6fdf0e22c [EGD-5333] Change renderer to follow command design pattern
Changes draw command implementation to properly follow
command design pattern. All drawing commands have been
moved to separate inheriting draw commands from renderer.

Other changes:
- New draw methods overloads have been added to pixel renderer.
 Now pixel rendering methods are in one class.
- Simplified draw commands naming.
- Changed variable naming in draw commands to be more verbose.
- Changed {x,y} pairs to Points where possible.
2021-02-03 16:24:48 +01:00
Michał Kamoń
9e961b6072 [EGD-3589] gui - DOM dump functionality for gui::Item (#1148) 2020-12-09 15:57:20 +01:00
Paweł Olejniczak
c7c9b2dd5a [EGD-4278] Fix filling Rect with color (#950) 2020-11-03 10:11:56 +01:00
Adam
64db7d8327 EDG-3585 Small fixup for refresh & cleanup in buildDrawLists (#916)
* EGD-3585 Minor refresh fixup&  Normalised buildDrawList everywhere
2020-10-30 10:13:47 +01:00
Radoslaw Wicik
2276ceed67 [EGD-3743] Update copyrights in fies 2020-10-20 12:55:10 +02:00
Piotr Tanski
fdb2cfdb5a [EGD-3597] Shape rendering refactored. (#827) 2020-10-14 12:24:41 +02:00
Przemyslaw Brudny
3e41238f55 [EGD-3351] Added margin support to BoxLayout. 2020-07-02 16:28:52 +02:00
Adam Dobrowolski
7799a9923c EGD-3190 PR applied - gui::Rect set defaults for all values 2020-05-12 16:45:15 +02:00
Przemyslaw Brudny
6dc9842e4e [EGD-3190] Messages thread compatibility fixes. 2020-05-12 16:45:15 +02:00
Adam Dobrowolski
ccb0092db0 [EGD-3190] Box can call resize 2020-05-12 16:45:15 +02:00
Przemyslaw Brudny
c0822b6658 [EDG-3019] Moved log.hpp and debug.hpp into main PurePhone repo 2020-03-24 15:55:32 +01:00
Przemyslaw Brudny
8f92715951 [EDG-3019] Segger utils moved to git submodule 2020-03-23 18:37:37 +01:00
Radoslaw Wicik
a8573a404c Apply new style 2020-03-17 10:03:16 +01:00
Adam Dobrowolski
2567da65f6 EGD-2248 addWidget returns void now instead of bool
* elements which possibly depended on this depend now on `visibility` of element added
* changed everywhere returns on addWidget
* checked layouts (vertical, horizontal, pagedbox, gridlayout)
2020-03-03 14:36:43 +01:00
Adam Dobrowolski
5e5562c261 [EGD-2896] Cleanup to use maxSize 2020-02-26 11:53:03 +01:00
Mateusz Grzywacz
3d3a019de1 [EGD-2393] yaps in thread view and yap size 2020-02-11 11:50:15 +01:00
Mateusz Grzywacz
4182d778f7 [EGD-2393] separate size for yaps 2020-02-11 11:50:15 +01:00
Adam Dobrowolski
f0659c9945 [EGD-2394] [FIX] Rect - fixed size assignment
First asign size -> than addWidget to parent
Element created should have first assigned it properties, then there
should be try to add to parent widget - othervise parent widget tries to
position elements based on default values.

This design is generally silly at most as if we fail we cant just delete
the child, we cant react properly. We could throw and hope that someone
will try to catch it - but if they do, they should be able to first
create item, than try to add it to parent in the first place.
2020-01-31 14:05:42 +01:00
Mateusz Grzywacz
955612ce62 [EGD-2393] Added yaps (to rect) 2020-01-10 15:50:31 +01:00
Adam Dobrowolski
41b6df457c [EGD-2392] SMS Feed window added 2020-01-10 14:15:28 +01:00
Adam Dobrowolski
1059543931 [BoxLayout] Added PageLayout & BoxLayout fixups
* Fixed Rect to always set maxSize and BoxLayout navigation
* removed commented out focusItem
* Removed redundant handling
* General BoxLayout fixes
2020-01-03 12:54:39 +01:00
Adam Dobrowolski
ea61c1ec8a [EGD-2335] Added grid layout (for character selector) 2019-12-09 11:19:37 +01:00
Kuba
5bae197f9e Pull request suggestions added. 2019-06-26 11:57:54 +02:00
Kuba
26e80bef11 Code cleanup. 2019-06-25 11:07:11 +02:00
Kuba
4523f57d4b Branch change. 2019-06-11 09:00:23 +02:00
Kuba
37e3978620 Change in progress bar drawing command. 2019-06-06 11:56:55 +02:00
Kuba
aad7bc60c8 Working on progress bar widget. 2019-06-06 09:36:21 +02:00
Robert Borzecki
d3235d54d7 Removed submodule 2019-05-21 23:35:00 +02:00