mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-09-02 18:31:12 +02:00
Merge branch 'ni/tuxbox' into ni/mp/tuxbox
Origin commit data
------------------
Commit: 2e1aa8d0d1
Author: vanhofen <vanhofen@gmx.de>
Date: 2016-12-16 (Fri, 16 Dec 2016)
This commit is contained in:
@@ -678,7 +678,7 @@ void CCDraw::kill(const fb_pixel_t& bg_color, const int& corner_radius, const in
|
||||
r,
|
||||
corner_type);
|
||||
}else
|
||||
dprintf(DEBUG_NORMAL, "\033[33m[CCDraw][%s - %d], WARNING! render with bad dimensions [dx = %d dy = %d]\033[0m\n", __func__, __LINE__, v_fbdata[i].dx, v_fbdata[i].dy );
|
||||
dprintf(DEBUG_DEBUG, "\033[33m[CCDraw][%s - %d], WARNING! render with bad dimensions [dx = %d dy = %d]\033[0m\n", __func__, __LINE__, v_fbdata[i].dx, v_fbdata[i].dy );
|
||||
|
||||
if (v_fbdata[i].frame_thickness)
|
||||
frameBuffer->paintBoxFrame(v_fbdata[i].x,
|
||||
|
@@ -375,9 +375,9 @@ void CComponentsForm::paintCCItems()
|
||||
|
||||
//init and handle scrollbar
|
||||
getPageCount();
|
||||
int y_sb = this_y+1;
|
||||
int y_sb = this_y;
|
||||
int x_sb = this_x + width - w_sb;
|
||||
int h_sb = height-2;
|
||||
int h_sb = height;
|
||||
if (sb == NULL){
|
||||
sb = new CComponentsScrollBar(x_sb, y_sb, w_sb, h_sb);
|
||||
}else{
|
||||
|
@@ -76,12 +76,15 @@ void CComponentsScrollBar::initVarSbForm(const int& count)
|
||||
cc_item_type = CC_ITEMTYPE_FRM_SCROLLBAR;
|
||||
fr_thickness = 0;
|
||||
|
||||
append_x_offset = 0;
|
||||
append_y_offset = 2;
|
||||
append_x_offset = OFFSET_INNER_MIN;
|
||||
append_y_offset = OFFSET_INNER_MIN;
|
||||
|
||||
sb_up_obj = sb_down_obj = NULL;
|
||||
sb_up_obj = NULL;
|
||||
sb_down_obj = NULL;
|
||||
sb_segments_obj = NULL;
|
||||
|
||||
setCorner(RADIUS_MIN, CORNER_ALL);
|
||||
|
||||
sb_up_icon = frameBuffer->getIconPath(NEUTRINO_ICON_BUTTON_UP) ;
|
||||
sb_down_icon = frameBuffer->getIconPath(NEUTRINO_ICON_BUTTON_DOWN);
|
||||
|
||||
@@ -110,40 +113,38 @@ void CComponentsScrollBar::initTopNaviIcon()
|
||||
{
|
||||
//initialize icon object
|
||||
if (sb_up_obj == NULL){
|
||||
sb_up_obj = new CComponentsPicture(CC_CENTERED, fr_thickness, sb_up_icon, this);
|
||||
sb_up_obj = new CComponentsPicture(CC_CENTERED, fr_thickness, width-2*fr_thickness, width-2*fr_thickness, sb_up_icon, this);
|
||||
sb_up_obj->SetTransparent(CFrameBuffer::TM_BLACK);
|
||||
sb_up_obj->doPaintBg(false);
|
||||
}
|
||||
sb_up_obj->setWidth(width-2*fr_thickness);
|
||||
}
|
||||
|
||||
void CComponentsScrollBar::initBottomNaviIcon()
|
||||
{
|
||||
//initialize icon object
|
||||
if (sb_down_obj == NULL){
|
||||
sb_down_obj = new CComponentsPicture(CC_CENTERED, CC_APPEND, sb_down_icon, this);
|
||||
sb_down_obj = new CComponentsPicture(CC_CENTERED, height - width-2*fr_thickness, width-2*fr_thickness, 0, sb_down_icon, this);
|
||||
sb_down_obj->SetTransparent(CFrameBuffer::TM_BLACK);
|
||||
sb_down_obj->doPaintBg(false);
|
||||
}
|
||||
sb_down_obj->setWidth(width-2*fr_thickness);
|
||||
}
|
||||
|
||||
void CComponentsScrollBar::initSegments()
|
||||
{
|
||||
//init dimensions for segments
|
||||
int w_seg = width - 4*fr_thickness;
|
||||
//never read int h_seg = height - (sb_segments_count-1)*append_y_offset;
|
||||
int w_seg = width - 2*fr_thickness - 2*append_x_offset;
|
||||
if (w_seg < 0)
|
||||
w_seg = 0;
|
||||
|
||||
//calculate height of segment container
|
||||
int h_seg_obj = height - 2*sb_up_obj->getHeight() - 3*append_y_offset;
|
||||
if(h_seg_obj < 0)
|
||||
int h_seg_obj = height - 2*fr_thickness - 2*sb_up_obj->getHeight() - 2*append_y_offset;
|
||||
if (h_seg_obj < 0)
|
||||
h_seg_obj = 0;
|
||||
|
||||
//init segment container
|
||||
if (sb_segments_obj == NULL){
|
||||
sb_segments_obj = new CComponentsFrmChain(CC_CENTERED, CC_APPEND, w_seg, h_seg_obj, NULL, CC_DIR_Y, this, false);
|
||||
sb_segments_obj->setFrameThickness(0/*,0*/);
|
||||
sb_segments_obj->setAppendOffset(0, 3);
|
||||
sb_segments_obj->setFrameThickness(0);
|
||||
}else
|
||||
sb_segments_obj->setDimensionsAll(CC_CENTERED, CC_APPEND, w_seg, h_seg_obj);
|
||||
|
||||
@@ -154,9 +155,9 @@ void CComponentsScrollBar::initSegments()
|
||||
sb_segments_obj->clear();
|
||||
|
||||
//set y position of 1st segment and set height of segments
|
||||
int y_seg = 1+ append_y_offset;
|
||||
int y_seg = append_y_offset;
|
||||
int h_seg = sb_segments_obj->getHeight()/sb_segments_count - append_y_offset;
|
||||
if(h_seg < 0)
|
||||
if (h_seg < 0)
|
||||
h_seg = 0;
|
||||
|
||||
//create and add segments to segment container
|
||||
@@ -189,3 +190,20 @@ void CComponentsScrollBar::initSegments()
|
||||
sb_segments_obj->front()->setCorner(RADIUS_MIN, CORNER_TOP);
|
||||
sb_segments_obj->back()->setCorner(RADIUS_MIN, CORNER_BOTTOM);
|
||||
}
|
||||
|
||||
|
||||
void paintScrollBar( const int &x_pos,
|
||||
const int &y_pos,
|
||||
const int &w,
|
||||
const int &h,
|
||||
const int& count,
|
||||
const int& current_num,
|
||||
int shadow_mode,
|
||||
fb_pixel_t color_frame,
|
||||
fb_pixel_t color_body,
|
||||
fb_pixel_t color_shadow)
|
||||
{
|
||||
CComponentsScrollBar scrollbar(x_pos, y_pos, w, h, count, NULL, shadow_mode, color_frame, color_body, color_shadow);
|
||||
scrollbar.setMarkID(current_num);
|
||||
scrollbar.paint0();
|
||||
}
|
||||
|
@@ -60,24 +60,95 @@ class CComponentsScrollBar : public CComponentsFrmChain
|
||||
void initVarSbForm( const int& count);
|
||||
|
||||
public:
|
||||
CComponentsScrollBar( const int &x_pos, const int &y_pos, const int &w = 15, const int &h = 40,
|
||||
const int& count = 1,
|
||||
/**Class constructor to generate individual scrollbar objects
|
||||
*
|
||||
* @param[in] x_pos exepts type int, x position on screen
|
||||
* @param[in] x_pos exepts type int, y position on screen modes are:
|
||||
* @param[in] w exepts type int, width of scrollbar object
|
||||
* @param[in] h exepts type int, height of scrollbar object
|
||||
* @param[in] count optional, exepts type int, count of pages, default 1
|
||||
*
|
||||
* usual paraemters:
|
||||
* @param[in] parent optional, exepts type pointer to a parent CComponentsForm object, default NULL
|
||||
* @param[in] shadow_mode optional, exepts type int defined by shadow mode enums, default CC_SHADOW_OFF
|
||||
* @param[in] color_frame optional, exepts type fb_pixel_t, default COL_SCROLLBAR_ACTIVE_PLUS_0
|
||||
* @param[in] color_body optional, exepts type fb_pixel_t, default COL_SCROLLBAR_PASSIVE_PLUS_0
|
||||
* @param[in] color_shadow optional, exepts type fb_pixel_t, default COL_SHADOW_PLUS_0
|
||||
*/
|
||||
CComponentsScrollBar( const int &x_pos,
|
||||
const int &y_pos,
|
||||
const int &w = 15,
|
||||
const int &h = 0,
|
||||
const int& count = 1,
|
||||
CComponentsForm *parent = NULL,
|
||||
int shadow_mode = CC_SHADOW_OFF,
|
||||
fb_pixel_t color_frame = COL_SCROLLBAR_ACTIVE_PLUS_0,
|
||||
fb_pixel_t color_body = COL_SCROLLBAR_PASSIVE_PLUS_0,
|
||||
int shadow_mode = CC_SHADOW_OFF,
|
||||
fb_pixel_t color_frame = COL_SCROLLBAR_ACTIVE_PLUS_0,
|
||||
fb_pixel_t color_body = COL_SCROLLBAR_PASSIVE_PLUS_0,
|
||||
fb_pixel_t color_shadow = COL_SHADOW_PLUS_0);
|
||||
// ~CComponentsScrollBar(); //inherited from CComponentsForm
|
||||
|
||||
///set marked segment, 1st = 0, 2nd = 1 ...
|
||||
void setMarkID(const int& mark_id){sb_mark_id = mark_id; initSegments();};
|
||||
///get current assigned marked id
|
||||
/**Set current page number
|
||||
* @return void
|
||||
*
|
||||
* @param[in] mark_id exepts type int, this sets the current selected page number.
|
||||
*
|
||||
* @see getMarkID()
|
||||
*/
|
||||
void setMarkID(const int& mark_id){sb_mark_id = mark_id; initSegments();}
|
||||
|
||||
/**Gets current page number
|
||||
* @return int
|
||||
*
|
||||
* @see setMarkID()
|
||||
*/
|
||||
int getMarkID(){return sb_mark_id;};
|
||||
|
||||
///Sets count of scrollbar segments and is similar e.g. page count. Each segment is assigned to an id. Starting with id 0...n see also setMarkID(), getMarkID().
|
||||
/**Sets count of possible scrollbar segments (e.g. page count) and
|
||||
* current selected page at once .
|
||||
* Each segment is assigned to a page number. Starting with id 0...n
|
||||
* @return void
|
||||
*
|
||||
* @param[in] segment_count exepts type int, sets the current count of pages.
|
||||
* @param[in] mark_id optional, exepts type int, sets the current selected page number, default = 0
|
||||
* @see also setMarkID()
|
||||
* getMarkID()
|
||||
*/
|
||||
void setSegmentCount(const int& segment_count, const int& mark_id = 0);
|
||||
///Get count of current scrollbar segments
|
||||
|
||||
/**Get count of current scrollbar segments (page count)
|
||||
* @return int
|
||||
*
|
||||
* @see setSegmentCount()
|
||||
*/
|
||||
int getSegmentCount(){return sb_segments_count;}
|
||||
};
|
||||
|
||||
/**Small and easy to apply scrollbar paint methode without expilcit object declaration
|
||||
* @return void
|
||||
*
|
||||
* @param[in] x_pos exepts type int, x position on screen
|
||||
* @param[in] x_pos exepts type int, y position on screen modes are:
|
||||
* @param[in] w exepts type int, width of scrollbar object
|
||||
* @param[in] h exepts type int, height of scrollbar object
|
||||
* @param[in] count exepts type int, count of pages, default 1
|
||||
* @param[in] current_num exepts type int, current selected page, default 0
|
||||
*
|
||||
* usual paraemters:
|
||||
* @param[in] parent optional, exepts type pointer to a parent CComponentsForm object, default NULL
|
||||
* @param[in] shadow_mode optional, exepts type int defined by shadow mode enums, default CC_SHADOW_OFF
|
||||
* @param[in] color_frame optional, exepts type fb_pixel_t, default COL_SCROLLBAR_ACTIVE_PLUS_0
|
||||
* @param[in] color_body optional, exepts type fb_pixel_t, default COL_SCROLLBAR_PASSIVE_PLUS_0
|
||||
* @param[in] color_shadow optional, exepts type fb_pixel_t, default COL_SHADOW_PLUS_0
|
||||
*/
|
||||
void paintScrollBar( const int &x_pos,
|
||||
const int &y_pos,
|
||||
const int &w,
|
||||
const int &h,
|
||||
const int& count,
|
||||
const int& current_num,
|
||||
int shadow_mode = CC_SHADOW_OFF,
|
||||
fb_pixel_t color_frame = COL_SCROLLBAR_ACTIVE_PLUS_0,
|
||||
fb_pixel_t color_body = COL_SCROLLBAR_PASSIVE_PLUS_0,
|
||||
fb_pixel_t color_shadow = COL_SHADOW_PLUS_0);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user