⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wg_picture.cpp

📁 一个小巧的嵌入式图形系统wGUI, 可以用VC编译
💻 CPP
字号:
// wg_picture.cpp//// CPicture class implementation////// Copyright (c) 2002 Rob Wiskow// rob-dev@boxedchaos.com//// This library is free software; you can redistribute it and/or// modify it under the terms of the GNU Lesser General Public// License as published by the Free Software Foundation; either// version 2.1 of the License, or (at your option) any later version.//// This library 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// Lesser General Public License for more details.//// You should have received a copy of the GNU Lesser General Public// License along with this library; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA//#include "wgui_include_config.h"#include "wg_picture.h"namespace wGui{CPicture::CPicture(const CRect& WindowRect, CWindow* pParent, const std::string& sPictureFile,		bool bDrawBorder, const CRGBColor& BorderColor) :	CWindow(WindowRect, pParent),	m_bDrawBorder(bDrawBorder),	m_BorderColor(BorderColor),	m_hBitmap(CBitmapFileResourceHandle(sPictureFile)){  m_sClassName = "CPicture";	if (m_bDrawBorder)	{		m_ClientRect.Grow(-1);	}}CPicture::CPicture(const CRect& WindowRect, CWindow* pParent, const CBitmapResourceHandle& hBitmap,		bool bDrawBorder, const CRGBColor& BorderColor) :	CWindow(WindowRect, pParent),	m_bDrawBorder(bDrawBorder),	m_BorderColor(BorderColor),	m_hBitmap(hBitmap){  m_sClassName = "CPicture";	if (m_bDrawBorder)	{		m_ClientRect.Grow(-1);	}}CPicture::~CPicture(void){}void CPicture::Draw(void) const{	CWindow::Draw();	CRect PictureRect = GetClientRect();	SDL_Rect SourceRect = PictureRect.SDLRect();	SourceRect.x = 0;	SourceRect.y = 0;	SDL_Rect DestRect = PictureRect.SDLRect();	SDL_BlitSurface(m_hBitmap.Bitmap(), &SourceRect, m_pSDLSurface, &DestRect);	CPainter Painter(m_pSDLSurface);	if (m_bDrawBorder)	{		Painter.DrawRect(m_WindowRect, false, m_BorderColor);	}}void CPicture::SetWindowRect(const CRect& WindowRect){	CWindow::SetWindowRect(WindowRect);	m_ClientRect = m_WindowRect;	m_ClientRect.Grow(-1);}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -