cc_item_shapes.cpp/h: Add method to create draw boxes without explicit objects

This commit is contained in:
2017-08-28 12:16:45 +02:00
parent b5d33f10e1
commit c743cb632b
2 changed files with 33 additions and 0 deletions

View File

@@ -107,3 +107,12 @@ void CComponentsShapeCircle::paint(bool do_save_bg)
{ {
paintInit(do_save_bg); paintInit(do_save_bg);
} }
bool PaintBoxRel(const int& x, const int& y, const int& dx, const int& dy, const fb_pixel_t& col, int radius, int corner_type, int shadow_mode)
{
CComponentsShapeSquare box(x, y, dx, dy, NULL, shadow_mode, COL_SHADOW_PLUS_0, col);
box.setCorner(radius, corner_type);
box.paint(CC_SAVE_SCREEN_NO);
return box.isPainted();
}

View File

@@ -73,4 +73,28 @@ class CComponentsShapeSquare : public CComponentsItem
void paint(bool do_save_bg = CC_SAVE_SCREEN_YES); void paint(bool do_save_bg = CC_SAVE_SCREEN_YES);
}; };
/**Small and easy to apply box paint methode without expilcit object declaration
* @return bool, true = painted
*
* @param[in] x expects type int, x position on screen
* @param[in] y expects type int, y position on screen modes are:
* @param[in] dx expects type int, width of scrollbar object
* @param[in] dy expects type int, height of scrollbar object
* @param[in] col expects type fb_pixel_t, as body color
*
* usual paraemters:
* @param[in] radius optional, expects type int as corner radius, default = 0
* @param[in] corner_type optional, expects type int as cornar type, default CORNER_ALL
* @param[in] shadow_mode optional, expects type int defined by shadow mode enums, default CC_SHADOW_OFF
*/
bool PaintBoxRel(const int& x,
const int& y,
const int& dx,
const int& dy,
const fb_pixel_t& col,
int radius = 0,
int corner_type = CORNER_ALL,
int shadow_mode = CC_SHADOW_OFF);
#endif #endif