Commit Graph

56 Commits

Author SHA1 Message Date
Thilo Graf
711cb98754 CComponentsItem: ensure display of frame as last layer 2016-06-26 15:32:36 +02:00
Thilo Graf
65de6dee9f CComponentsItem: add missing parameter to kill() member
Was not passed to parent methode.
2016-01-29 15:31:12 +01:00
Thilo Graf
107c3234b2 CComponentsItem: reset paint mode after cleanup 2016-01-26 20:00:22 +01:00
Thilo Graf
695f845907 CComponentsItem: remove clean up from kill()
It is not always useful to clean up everything with kill().
For more control in some cases an separate clean up should be better.
2016-01-21 10:16:37 +01:00
Thilo Graf
976e0251ee CComponentsItem: try to fix clean up screen buffers after killed items 2016-01-03 20:25:15 +01:00
Thilo Graf
0146511f38 components: rework classes
- outsourced some classes cc_item.cpp/h, cc_draw.cpp/h
- added extra methodes for simple use of some basic components extra.cpp/h
- rework clock handling: use timer class, reworked members for
  enable/disable clock with external timer events,
  tryed to fix some display issues related with infoclock and
  time osd clock in moviebrowser, channellist, menuus
- reworked hide/kill handling, removed parameter for hide(), try to use
  cached backgrounds for other constallations, paint cache, image cache (all beta)
- reworked shadow/frame handling, add shadow modes for left/right
  arrangement, TODO: repaint for existant instances required
- reworked color gradient assignment (beta)

... Note: I had a data crash in my local git tree
and i tryed to restore my historie, but most was lost. Therefore here
the commit is large
2015-12-27 14:42:27 +01:00
[CST] Focus
62a9621cb0 gui/components/cc_item.cpp: use theme option for one/two color gradient 2015-05-07 16:39:28 +03:00
TangoCash
a8be4f6365 enable color-to-color gradient 2015-05-04 09:41:41 +02:00
[CST] Focus
53ce471af8 gradient: try to fix delete gradient data only on color change
Signed-off-by: Thilo Graf <dbt@novatux.de>
2015-04-27 09:25:34 +02:00
Thilo Graf
d8da2a3087 Revert "CComponentsItem: fix remove gradient buffer on killed item"
This reverts commit 51aab307c3.
2015-04-27 09:21:19 +02:00
Thilo Graf
51aab307c3 CComponentsItem: fix remove gradient buffer on killed item 2015-03-29 22:40:08 +02:00
Thilo Graf
8ebb5f98ca CComponentsItem: add setXPos/setYPos(), that consider real position 2015-03-29 22:39:58 +02:00
M. Liebmann
58224099fd CColorGradient::gradientOneColor: Adjustment for min/max brightness...
...and color saturation added
- Use only the hue of base color for gradient
2014-09-25 11:08:22 +04:00
Thilo Graf
f9147d185a CComponents: add setColBodyGradient() to set gradient properties
This provides possibility to set relevant gradiant properties in cc sub classes
2014-09-25 11:08:08 +04:00
Thilo Graf
581405e076 CComponentsItem: move initBodyGradient() into base class
This provides functinality for all sub classes too
2014-09-25 11:08:04 +04:00
M. Liebmann
db6fd8480d CComponents: Add color gradient for CC_FBDATA_TYPE_BOX 2014-09-25 11:06:01 +04:00
Thilo Graf
0c0e0e85ff CComponentsItem/CComponentsForm: add property focus
Specifies that some certain operations especially eg. exec events for
that item are possible.
2014-09-25 11:02:32 +04:00
Thilo Graf
62acbb47ab CComponentsItem: fix percentage dimensions setters
heigth and width were swapped, parameter "real" was false
2014-07-18 13:31:29 +04:00
Thilo Graf
672757606c CComponents: implement scroll functionality into CComponentsForm
CComponentsForm provides page scroll if found more
than one pre defined page and is working with all derivated sub classes from CComponentsForm .

Pages are defined with setPageNumber(0...n) in items (1st page = 0). The item page number property is
defined in variable cc_page_number. The highest page number sets the
count of pages inside container to required value. Thats compellingly!

To show a page, we can use setCurrentPage(0...n ) and paintCurPage() or use directly paintPage(0...n).
Note: global paint() will show the current page. Default page is 0 (as first).
Use setCurrentPage(0...n) to change this before first call of paint().
Note: In CComponentsWindow class, these methods are applied to window body.

For examples, take a look into CTestMenu
2014-06-27 20:49:41 +02:00
Thilo Graf
2aff49deea CComponentsItem: remove unnecessary calculation of position with frame
This should be done in the arrangement of the container contents
2014-06-23 18:43:47 +02:00
Thilo Graf
dc007e810a CComponents: use paintBoxRel() only in kill()
paintBackgroundBoxRel() ignores rounded corners. This avoids painting of
undesirable parts on corners.
2014-05-22 21:50:55 +02:00
Thilo Graf
336ddf75b6 CComponents/CComponentsItem: simplify statement 2014-05-22 21:50:55 +02:00
Thilo Graf
6ba757bd9d CComponentsItem: don't increase x/y position if frame width already defined 2014-05-16 09:08:25 +02:00
Thilo Graf
6a2e701a7a CComponents/CComponentsItem: add advanced version of kill()
kill() allows now paint with defined colors over rendered objects
without restore of background. It's similar to paintBackgroundBoxRel()
known from CFrameBuffer, but with possiblity to define color,
default color is 0 like before (empty background).
Items with parent bindings use the background color of its parent
as default, but can also be ignored.

This function can be useful before repaint of items and/or,
if required, to have a clean background inside item containers.
2014-05-16 09:08:25 +02:00
Thilo Graf
750691fbbf CComponents: use neutrino debug mode for debug output 2014-04-02 08:40:21 +02:00
Thilo Graf
23d7b62cf0 CComponents: add new parameter 'parent'
Use strictly CComponentsForm as parent parameter in constructors.
Some parts have been cleaned up (Constructors, init methodes removed)

New parameter makes it possible already add current item in constructor.
So in mostly situations is it not necessary to use explicit addCCItem(),
but addCCItem()is still valid and necessary in certain situations.

Affected are all cc-classes and their derivates.
Some classes must or can be adapted later. The function is
not currently restricted, because usage of parent parameter is not explicit
defined in constructors, see CImageInfo, here yet are used addCCItem()
methodes.

Generally this parameter is located in the constructors before bool has_shadow,
but it is not sure whether it would be better to use this parameter as the first.
That remains to be clarified.
2014-03-03 09:43:39 +01:00
Thilo Graf
a33cad448a CComponentsItem: add methodes to set width and height via percent value
Percent value is related to current screen or parent size
2014-03-03 08:54:10 +01:00
Thilo Graf
8a897103ac CComponentsItem: move/rename doCenter()to base class CComponentsItem
So it's possible to use this method for all cc-items.
setCenterPos() comes now with parameter 'along_mode' (CC_ALONG_X, CC_ALONG_Y).
So it's possible to center in x or y direction. As default are
both directions predefined.
2014-03-03 08:54:10 +01:00
Thilo Graf
38dffb8456 CComponentsItem: add members to set item position via percent value 2014-03-03 08:54:10 +01:00
Thilo Graf
ed7a2fd625 CComponents: replace clear() with clearFbData(), remove cleanCCForm()
clear() replaces now clearCCItems() and cleanCCForm() is superfluous.
2014-01-07 09:41:06 +01:00
Thilo Graf
8442b39c28 CComponents: replace __FUNCTION__ with __func__
__func__ is more suitable for portability
2013-12-18 15:13:19 +01:00
[CST] Focus
93a326e9eb components: remove initVarBasic and initVarItem calls from derived classes 2013-11-29 17:27:10 +04:00
Thilo Graf
4ed6e54da6 CComponentsItem: add missing is_painted to hideCCItem() 2013-11-11 00:19:46 +01:00
Thilo Graf
6dd1da0628 revert 6ee7fac1a5
Was bad idea to rename. Other Classes can also inherit this. See CMenuTarget
2013-10-26 23:25:59 +02:00
Thilo Graf
6ee7fac1a5 CComponents: rename hide() to hideCC()
There are too many name conflicts with hide-members in other classes.
2013-10-24 21:39:04 +02:00
Thilo Graf
f7798affc6 CComponents: add unfied header file for general include of cc classes
Provides a unified header file, so it is not required to select a
certain header file.
2013-10-24 21:19:07 +02:00
Michael Liebmann
b3559e37f8 CComponentsItem: Remove parameter from function isAdded() 2013-10-21 09:32:15 +02:00
Thilo Graf
3438b23f68 CComponentsItem: move function isAdded() to CComponentsItem class 2013-10-19 01:25:23 +02:00
Thilo Graf
04300f1874 CComponents: rework position handling
The real position already used here, if item is bound to a parent.
(bound or embedded means: added with addCCItem() to a form)
This causes no separate calculation in paint methodes of embedded
sub items or sub forms and more nested sub forms.

CComponentsForm have also some new members
- exchangeCCItem() to exchange the order items
- setAppendOffset() to set an offset for auto append mode
  Autoappend is enabled if x or y have value -1 (defined also in CC_APPEND)
  x=horizontal, y=vertical
  Is this activated, no separate calculation of incremental offset
  is required.

However items with independent rendered parts, needs
a separate calculation. In some subclasses was this necessary.
2013-06-16 00:34:06 +02:00
Thilo Graf
3c5f4867fb CComponents: rename and move real position attributes
These attributes are better placed in the basic class.
2013-06-03 22:12:47 +02:00
Michael Liebmann
4da83b546c * CComponents: Reworked paint the shadows
- Paint rounded corners only where it is required
- Skip paint frame/paint shadow, if not defined
2013-05-24 21:48:56 +02:00
Michael Liebmann
b1c7c7a34c * CComponentsItem::paintInit(): Corrected calculation of sw_cur
- Summarized calculate the values of shadow box
2013-05-22 22:02:17 +02:00
Michael Liebmann
b8da504432 * CComponentsItem: Set sw_cur = 0 if no shadow 2013-05-21 19:34:53 +02:00
Michael Liebmann
072097cd06 * Fix CComponents::getScreen()/hide() & CComponentsItem::hideCCItem()
- Use CFrameBuffer::waitForIdle() to ensure that all GXA commands
  are finished before SaveScreen() / RestoreScreen() is executed
2013-05-18 14:44:20 +01:00
Thilo Graf
9ae72bf02d CComponents: fix missing save of background in paint_bg=false mode
Exit in initVarItem() on !paint_bg was too early.
2013-05-12 14:17:10 +02:00
Thilo Graf
a4c3e08f77 CComponents: rework kill()
There was some problems with restore, hide, clean and save background of item parts,
seen in detailsline. kill() worked not really clean.
kill() works now as virtual member and uses paintBackgroundBoxRel().

In consequence of which:
-unnecessary members in subclasses removed.
-add some comments
2013-05-03 19:51:57 +02:00
Thilo Graf
48c4142a24 CComponentsItem: don't render shadow as full box 2013-04-20 22:55:23 +02:00
Thilo Graf
d725153ebe CComponentsItem: move calculation out of struct an add comment 2013-04-20 13:10:54 +02:00
svenhoefer
263da08fb9 - cc_item.cpp: fix wrong calc in paintInit() 2013-04-18 17:45:48 +02:00
Thilo Graf
df0a454efe CComponentsItem: prevent possible compile error 2013-04-16 11:56:27 +02:00