void CPWL_EditCtrl::OnCreated() { SetFontSize(GetCreationParam().fFontSize); m_pEdit->SetFontMap(GetFontMap()); m_pEdit->SetNotify(this); m_pEdit->Initialize(); }
void CPWL_Wnd::SetCursor() { if (IsValid()) { if (CFX_SystemHandler* pSH = GetSystemHandler()) { int32_t nCursorType = GetCreationParam().eCursorType; pSH->SetCursor(nCursorType); } } }
void CPWL_ListBox::OnCreated() { m_pList->SetFontMap(GetFontMap()); m_pListNotify = pdfium::MakeUnique<CPWL_List_Notify>(this); m_pList->SetNotify(m_pListNotify.get()); SetHoverSel(HasFlag(PLBS_HOVERSEL)); m_pList->SetMultipleSel(HasFlag(PLBS_MULTIPLESEL)); m_pList->SetFontSize(GetCreationParam().fFontSize); m_bHoverSel = HasFlag(PLBS_HOVERSEL); }
void CPWL_Label::OnCreated() { SetParamByFlag(); SetFontSize(GetCreationParam().fFontSize); m_pEdit->SetFontMap(GetFontMap()); m_pEdit->Initialize(); if (HasFlag(PES_TEXTOVERFLOW)) { SetClipRect(CFX_FloatRect(0.0f, 0.0f, 0.0f, 0.0f)); m_pEdit->SetTextOverflow(TRUE); } }
void CPWL_ListBox::OnCreated() { if (m_pList) { delete m_pListNotify; m_pList->SetFontMap(GetFontMap()); m_pList->SetNotify(m_pListNotify = new CPWL_List_Notify(this)); SetHoverSel(HasFlag(PLBS_HOVERSEL)); m_pList->SetMultipleSel(HasFlag(PLBS_MULTIPLESEL)); m_pList->SetFontSize(GetCreationParam().fFontSize); m_bHoverSel = HasFlag(PLBS_HOVERSEL); } }
void CPWL_Edit::SetParamByFlag() { if (HasFlag(PES_RIGHT)) { m_pEdit->SetAlignmentH(2, FALSE); } else if (HasFlag(PES_MIDDLE)) { m_pEdit->SetAlignmentH(1, FALSE); } else { m_pEdit->SetAlignmentH(0, FALSE); } if (HasFlag(PES_BOTTOM)) { m_pEdit->SetAlignmentV(2, FALSE); } else if (HasFlag(PES_CENTER)) { m_pEdit->SetAlignmentV(1, FALSE); } else { m_pEdit->SetAlignmentV(0, FALSE); } if (HasFlag(PES_PASSWORD)) { m_pEdit->SetPasswordChar('*', FALSE); } m_pEdit->SetMultiLine(HasFlag(PES_MULTILINE), FALSE); m_pEdit->SetAutoReturn(HasFlag(PES_AUTORETURN), FALSE); m_pEdit->SetAutoFontSize(HasFlag(PWS_AUTOFONTSIZE), FALSE); m_pEdit->SetAutoScroll(HasFlag(PES_AUTOSCROLL), FALSE); m_pEdit->EnableUndo(HasFlag(PES_UNDO)); if (HasFlag(PES_TEXTOVERFLOW)) { SetClipRect(CPDF_Rect(0.0f, 0.0f, 0.0f, 0.0f)); m_pEdit->SetTextOverflow(TRUE, FALSE); } else { if (m_pEditCaret) { m_pEditCaret->SetClipRect(CPWL_Utils::InflateRect( GetClientRect(), 1.0f)); //+1 for caret beside border } } if (HasFlag(PES_SPELLCHECK)) { m_pSpellCheck = GetCreationParam().pSpellCheck; } }
void CPWL_Edit::DrawThisAppearance(CFX_RenderDevice* pDevice, CFX_Matrix* pUser2Device) { CPWL_Wnd::DrawThisAppearance(pDevice, pUser2Device); CPDF_Rect rcClient = GetClientRect(); CFX_ByteTextBuf sLine; int32_t nCharArray = m_pEdit->GetCharArray(); FX_SAFE_INT32 nCharArraySafe = nCharArray; nCharArraySafe -= 1; nCharArraySafe *= 2; if (nCharArray > 0 && nCharArraySafe.IsValid()) { switch (GetBorderStyle()) { case PBS_SOLID: { CFX_GraphStateData gsd; gsd.m_LineWidth = (FX_FLOAT)GetBorderWidth(); CFX_PathData path; path.SetPointCount(nCharArraySafe.ValueOrDie()); for (int32_t i = 0; i < nCharArray - 1; i++) { path.SetPoint( i * 2, rcClient.left + ((rcClient.right - rcClient.left) / nCharArray) * (i + 1), rcClient.bottom, FXPT_MOVETO); path.SetPoint( i * 2 + 1, rcClient.left + ((rcClient.right - rcClient.left) / nCharArray) * (i + 1), rcClient.top, FXPT_LINETO); } if (path.GetPointCount() > 0) pDevice->DrawPath( &path, pUser2Device, &gsd, 0, CPWL_Utils::PWLColorToFXColor(GetBorderColor(), 255), FXFILL_ALTERNATE); } break; case PBS_DASH: { CFX_GraphStateData gsd; gsd.m_LineWidth = (FX_FLOAT)GetBorderWidth(); gsd.SetDashCount(2); gsd.m_DashArray[0] = (FX_FLOAT)GetBorderDash().nDash; gsd.m_DashArray[1] = (FX_FLOAT)GetBorderDash().nGap; gsd.m_DashPhase = (FX_FLOAT)GetBorderDash().nPhase; CFX_PathData path; path.SetPointCount(nCharArraySafe.ValueOrDie()); for (int32_t i = 0; i < nCharArray - 1; i++) { path.SetPoint( i * 2, rcClient.left + ((rcClient.right - rcClient.left) / nCharArray) * (i + 1), rcClient.bottom, FXPT_MOVETO); path.SetPoint( i * 2 + 1, rcClient.left + ((rcClient.right - rcClient.left) / nCharArray) * (i + 1), rcClient.top, FXPT_LINETO); } if (path.GetPointCount() > 0) pDevice->DrawPath( &path, pUser2Device, &gsd, 0, CPWL_Utils::PWLColorToFXColor(GetBorderColor(), 255), FXFILL_ALTERNATE); } break; } } CPDF_Rect rcClip; CPVT_WordRange wrRange = m_pEdit->GetVisibleWordRange(); CPVT_WordRange* pRange = NULL; if (!HasFlag(PES_TEXTOVERFLOW)) { rcClip = GetClientRect(); pRange = &wrRange; } IFX_SystemHandler* pSysHandler = GetSystemHandler(); IFX_Edit::DrawEdit( pDevice, pUser2Device, m_pEdit, CPWL_Utils::PWLColorToFXColor(GetTextColor(), GetTransparency()), CPWL_Utils::PWLColorToFXColor(GetTextStrokeColor(), GetTransparency()), rcClip, CPDF_Point(0.0f, 0.0f), pRange, pSysHandler, m_pFormFiller); if (HasFlag(PES_SPELLCHECK)) { CPWL_Utils::DrawEditSpellCheck(pDevice, pUser2Device, m_pEdit, rcClip, CPDF_Point(0.0f, 0.0f), pRange, GetCreationParam().pSpellCheck); } }