AP_Dialog_Background::AP_Dialog_Background(XAP_DialogFactory * pDlgFactory, XAP_Dialog_Id id)
  : XAP_Dialog_NonPersistent(pDlgFactory,id, "interface/dialogbackgroundcolor"),
	m_color(0xff,0xff,0xff),
	m_answer(a_OK),
	m_bDoForeground(false),
	m_bDoHighlight(false)
{
	sprintf(m_pszColor,"%s","transparent");
	UT_setColor(m_color, 0xff, 0xff, 0xff);
}
Esempio n. 2
0
XAP_Preview_FontPreview::XAP_Preview_FontPreview(GR_Graphics * gc, const gchar * pszClrBackground)
	: XAP_Preview(gc),
		m_pFont(NULL),
		m_iAscent(0),
		m_iDescent(0),
		m_iHeight(0)
{
	if(pszClrBackground != NULL && strcmp(pszClrBackground,"transparent")!=0)
		UT_parseColor(pszClrBackground,m_clrBackground);
	else
		UT_setColor(m_clrBackground,255,255,255);

}
void  AP_Dialog_Background::setColor (const gchar * pszColor)
{
	if(pszColor && strcmp(pszColor,"transparent") != 0)
	{
		UT_parseColor(pszColor,m_color);
		sprintf(m_pszColor, "%02x%02x%02x", m_color.m_red, m_color.m_grn, m_color.m_blu);
	}
	else
	{
		UT_setColor(m_color, 255, 255, 255);
		sprintf(m_pszColor,"%s","transparent");
	}
}
Esempio n. 4
0
void AP_Win32Dialog_Background::runModal(XAP_Frame * pFrame)
{
	UT_return_if_fail (pFrame);

	const gchar *  pszC = getColor();
	UT_RGBColor rgbColor(255,255,255);
	if(strcmp(pszC,"transparent") != 0)
	{
		UT_parseColor(pszC,rgbColor);
	}


	CHOOSECOLOR cc;                 // common dialog box structure 
	static COLORREF acrCustClr[16]; // array of custom colors 
	DWORD rgbCurrent;				// initial color selection

	rgbCurrent = RGB( rgbColor.m_red, rgbColor.m_grn, rgbColor.m_blu );

	// Initialize CHOOSECOLOR 
	ZeroMemory(&cc, sizeof(CHOOSECOLOR));
	cc.lStructSize = sizeof(CHOOSECOLOR);
	cc.hwndOwner = static_cast<XAP_Win32FrameImpl*>(pFrame->getFrameImpl())->getTopLevelWindow();
	cc.lpCustColors = (LPDWORD) acrCustClr;
	cc.rgbResult = rgbCurrent;
	cc.Flags = CC_RGBINIT |CC_ENABLEHOOK;
	cc.lpfnHook  = &AP_Win32Dialog_Background::s_hookProc;
	cc.lCustData = (LPARAM)this;
 
	if( ChooseColor(&cc) )
	{
		rgbCurrent = cc.rgbResult;

		UT_setColor( rgbColor, GetRValue(rgbCurrent), GetGValue(rgbCurrent), GetBValue(rgbCurrent) );
		setColor( rgbColor );

		setAnswer( a_OK );
	}
	else
		setAnswer( a_CANCEL );
}
void  AP_Dialog_Background::setColor (UT_RGBColor & col)
{
	UT_setColor(m_color, col.m_red, col.m_grn, col.m_blu);
	sprintf(m_pszColor, "%02x%02x%02x", m_color.m_red, m_color.m_grn, m_color.m_blu);
}