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); }
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"); } }
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); }