picname is a class attribut and should not be touched here till new content
exists. Btw. setChannel() is eqiuvalent to setPicture() from base class, so
it makes sense to use setPicture() inside setChannel() after
picname is known. Explicit call of initCCTitem() is not required.
Use the framebuffer's getWidth4FB_HW_ACC() instead of system/helpers.
The use in cc_item_picture was guarded by a hardware #ifdef, use
needAlign4Blit() instead.
This needs testing on the affected hardware, which I do not have :-)
This should fix missing logos on existant chnannellogo instances.
For example, this was to see if user has opened eventlist and
opens timerlist with button '0'. After closed timerlist logos were lost.
need_init var shoul help to avoid not required inits.
Size of cached image are packed into own vars, should avoid possible
overwriting with current dimensions.
In some constellations we can't get dimensions from getIconSize(),
so it is useful to fall back to g_PicViewer->getSize().
Cache cleanup removed, can be done at runtime if required.
- 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
Aspect ratio was not considered in some constallations, To see on button
icons and oversized custom channellogos in channllist.
Now this is handeled on init of image object and setters for width and height.
Scaling mode not longer only dependent from image name.
Now also evaluated parameters.
Image objects with defined dimensions will be scaled.
Icons without defined path and file type, will be scaled as before.
...to set the transparency of pictures
- Set default transparency for CComponentsChannelLogo to
CFrameBuffer::TM_BLACK
(Transparency when black content -> 'pseudo' transparency)
- Set default transparency for CComponentsPicture to
CFrameBuffer::TM_NONE (No 'pseudo' transparency)
It should be now easier to use images as objects. An initialized
picture object should provide all relevant properties and some
functionalities of picture viewer.
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.