/* Based up Neutrino-GUI - Tuxbox-Project Copyright (C) 2001 by Steffen Hehn 'McClean' Extra functions based up GUI-related components. Copyright (C) 2015, Thilo Graf 'dbt' License: GPL This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifdef HAVE_CONFIG_H #include #endif #include #include #include "cc_extra.h" #include using namespace std; bool paintBoxRel( const int& x, const int& y, const int& dx, const int& dy, const fb_pixel_t& color_body, const int& radius, const int& corner_type, const int& gradient_mode, const int& gradient_sec_col, const int& gradient_direction, const int& gradient_intensity, const int& w_frame, const fb_pixel_t& color_frame, int shadow_mode, const fb_pixel_t& color_shadow) { CComponentsShapeSquare box(x, y, dx, dy, NULL, shadow_mode, color_frame, color_body, color_shadow); box.setColBodyGradient(gradient_mode, gradient_direction, gradient_sec_col, gradient_intensity); box.setCorner(radius, corner_type); box.enableFrame(w_frame, w_frame); box.paint(CC_SAVE_SCREEN_NO); return box.isPainted(); } bool paintBoxRel0( const int& x, const int& y, const int& dx, const int& dy, const fb_pixel_t& color_body, const int& radius, const int& corner_type, const int& w_frame, const fb_pixel_t& color_frame, int shadow_mode, const fb_pixel_t& color_shadow) { return paintBoxRel(x, y, dx, dy, color_body, radius, corner_type, w_frame, CC_COLGRAD_OFF, COL_MENUCONTENT_PLUS_0, CFrameBuffer::gradientVertical, CColorGradient::normal, color_frame, shadow_mode, color_shadow); } bool paintTextBoxRel( const string& text, const int& x, const int& y, const int& dx, const int& dy, Font *font, const int& mode, const int& font_style, const fb_pixel_t& color_text, const fb_pixel_t& color_body, const int& radius, const int& corner_type, const int& gradient_mode, const int& gradient_sec_col, const int& gradient_direction, const int& gradient_intensity, const fb_pixel_t& color_frame, int shadow_mode, const fb_pixel_t& color_shadow) { CComponentsText box(x, y, dx, dy, text, mode, font, font_style, NULL, shadow_mode, color_text, color_frame, color_body, color_shadow); box.setColBodyGradient(gradient_mode, gradient_direction, gradient_sec_col, gradient_intensity); box.doPaintBg(color_body !=0); box.enableTboxSaveScreen(false); box.setCorner(radius, corner_type); box.paint(CC_SAVE_SCREEN_NO); return box.isPainted(); } bool paintImage( const std::string& Image, const int& x, const int& y, const int& dx, const int& dy, const int& transparent, const fb_pixel_t& color_body, const int& radius, const int& corner_type, const fb_pixel_t& color_frame, int shadow_mode, const fb_pixel_t& color_shadow) { std::string image = (dx > 0 || dy > 0) ? CFrameBuffer::getInstance()->getIconPath(Image) : Image; CComponentsPicture box( x, y, dx, dy, image, NULL, shadow_mode, color_frame, color_body, color_shadow, transparent); box.doPaintBg(color_body !=0); box.setCorner(radius, corner_type); box.paint(CC_SAVE_SCREEN_NO); return box.isPainted(); } bool paintIcon ( const std::string& filename, const int& x, const int& y, const int& dx, const int& dy, const std::string& text, const int& font_style, const fb_pixel_t& color_body, const fb_pixel_t& color_text) { int h = 0; int w = 0; CFrameBuffer::getInstance()->getIconSize(filename.c_str(), &w, &h); CComponentsText box( x, y, dx < 1 ? w : dx, dy < 1 ? h : dy, text, CTextBox::CENTER, *CNeutrinoFonts::getInstance()->getDynFont(w, h, text), font_style, NULL, CC_SHADOW_OFF, color_text, COL_FRAME_PLUS_0, color_body); box.setBodyBGImageName(filename); box.doPaintBg(true); box.enableTboxSaveScreen(false); box.setCorner(0, 0); box.paint(CC_SAVE_SCREEN_NO); return box.isPainted(); } bool paintIcon ( const std::string& filename, const int& x, const int& y, const std::string& text, const int& font_style, const fb_pixel_t& color_body, const fb_pixel_t& color_text) { return paintIcon (filename, x, y, 0, 0, text, font_style, color_body, color_text); }