Esempio n. 1
0
 TextMetrics GdiContext2D::measureText(const wchar_t* psz)
 {
     Check();
     //  TEXTMETRIC tm;
     //  GetTextMetrics(m_hDC, &tm);
     //
     HFONT oldfont = (HFONT) SelectObject(m_hDC, (HFONT) font.m_pNativeObject);
     SIZE sz;
     ::GetTextExtentPoint(m_hDC, psz, wcslen(psz), &sz);
     ::SelectObject(m_hDC, oldfont);
     return TextMetrics(sz.cx);
 }
Esempio n. 2
0
    wxSize StyledTextBox::GetMinSize() const {
        int width = 0;
        int height = 0;

        TextMetrics textMetrics = TextMetrics(const_cast<StyledTextBox*>(this));

        int fontHeight = textMetrics.GetFontMetrics().height;

        width += GetInsets().Width();

        height += GetInsets().Height();
        height += fontHeight;

        wxSize userMinSize = StyledWindow::GetMinSize();
        return wxSize(std::max(width, userMinSize.GetWidth()), std::max(height, userMinSize.GetHeight()));
    }
Esempio n. 3
0
const TextMetrics TextLayout::GetMetrics(std::error_code& error_code) const {

	DWRITE_TEXT_METRICS dwrite_text_metrics = { 0 };
    HRESULT result = handle_->GetMetrics(&dwrite_text_metrics);

    error_code = MakeComErrorCode(result);
    if (! IsSucceeded(error_code)) {
        return TextMetrics();
    }

	TextMetrics text_metrics;
	text_metrics.left = dwrite_text_metrics.left;
	text_metrics.top = dwrite_text_metrics.top;
	text_metrics.width = dwrite_text_metrics.width;
	text_metrics.height = dwrite_text_metrics.height;
	text_metrics.width_including_trailing_whitespace = dwrite_text_metrics.widthIncludingTrailingWhitespace;
	text_metrics.max_bidi_reordering_depth = dwrite_text_metrics.maxBidiReorderingDepth;
	return text_metrics;
}
Esempio n. 4
0
 int StyledTextBox::FindCursorPointFromIndex() {
     TextMetrics textMetrics = TextMetrics(const_cast<StyledTextBox*>(this));
     return textMetrics.GetTextSize(GetText().SubString(0, GetCursorPosition() - 1), GetDefinitionBundle().GetFont()).GetWidth() + pimpl->textOffset;
 }