void AwtDesktopProperties::GetNonClientParameters() { // // general window properties // NONCLIENTMETRICS ncmetrics; ncmetrics.cbSize = sizeof(ncmetrics); VERIFY( SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ncmetrics.cbSize, &ncmetrics, FALSE) ); SetFontProperty( TEXT("win.frame.captionFont"), ncmetrics.lfCaptionFont ); SetIntegerProperty( TEXT("win.frame.captionHeight"), ncmetrics.iCaptionHeight ); SetIntegerProperty( TEXT("win.frame.captionButtonWidth"), ncmetrics.iCaptionWidth ); SetIntegerProperty( TEXT("win.frame.captionButtonHeight"), ncmetrics.iCaptionHeight ); SetFontProperty( TEXT("win.frame.smallCaptionFont"), ncmetrics.lfSmCaptionFont ); SetIntegerProperty( TEXT("win.frame.smallCaptionHeight"), ncmetrics.iSmCaptionHeight ); SetIntegerProperty( TEXT("win.frame.smallCaptionButtonWidth"), ncmetrics.iSmCaptionWidth ); SetIntegerProperty( TEXT("win.frame.smallCaptionButtonHeight"), ncmetrics.iSmCaptionHeight ); SetIntegerProperty( TEXT("win.frame.sizingBorderWidth"), ncmetrics.iBorderWidth ); // menu properties SetFontProperty( TEXT("win.menu.font"), ncmetrics.lfMenuFont ); SetIntegerProperty( TEXT("win.menu.height"), ncmetrics.iMenuHeight ); SetIntegerProperty( TEXT("win.menu.buttonWidth"), ncmetrics.iMenuWidth ); // scrollbar properties SetIntegerProperty( TEXT("win.scrollbar.width"), ncmetrics.iScrollWidth ); SetIntegerProperty( TEXT("win.scrollbar.height"), ncmetrics.iScrollHeight ); // status bar and tooltip properties SetFontProperty( TEXT("win.status.font"), ncmetrics.lfStatusFont ); SetFontProperty( TEXT("win.tooltip.font"), ncmetrics.lfStatusFont ); // message box properties SetFontProperty( TEXT("win.messagebox.font"), ncmetrics.lfMessageFont ); }
void AwtDesktopProperties::GetIconParameters() { // // icon properties // ICONMETRICS iconmetrics; iconmetrics.cbSize = sizeof(iconmetrics); VERIFY( SystemParametersInfo(SPI_GETICONMETRICS, iconmetrics.cbSize, &iconmetrics, FALSE) ); SetIntegerProperty(TEXT("win.icon.hspacing"), iconmetrics.iHorzSpacing); SetIntegerProperty(TEXT("win.icon.vspacing"), iconmetrics.iVertSpacing); SetBooleanProperty(TEXT("win.icon.titleWrappingOn"), iconmetrics.iTitleWrap != 0); SetFontProperty(TEXT("win.icon.font"), iconmetrics.lfFont); }
void AwtDesktopProperties::GetSystemProperties() { HDC dc = CreateDC(TEXT("DISPLAY"), NULL, NULL, NULL); if (dc != NULL) { SetFontProperty(dc, ANSI_FIXED_FONT, TEXT("win.ansiFixed.font")); SetFontProperty(dc, ANSI_VAR_FONT, TEXT("win.ansiVar.font")); SetFontProperty(dc, DEVICE_DEFAULT_FONT, TEXT("win.deviceDefault.font")); SetFontProperty(dc, DEFAULT_GUI_FONT, TEXT("win.defaultGUI.font")); SetFontProperty(dc, OEM_FIXED_FONT, TEXT("win.oemFixed.font")); SetFontProperty(dc, SYSTEM_FONT, TEXT("win.system.font")); SetFontProperty(dc, SYSTEM_FIXED_FONT, TEXT("win.systemFixed.font")); DeleteDC(dc); } }
void SetTextParameters( XNODE* aNode, TTEXTVALUE* aTextValue, wxString aDefaultMeasurementUnit, wxString aActualConversion ) { XNODE* tNode; wxString str; tNode = FindNode( aNode, wxT( "pt" ) ); if( tNode ) SetPosition( tNode->GetNodeContent(), aDefaultMeasurementUnit, &aTextValue->textPositionX, &aTextValue->textPositionY, aActualConversion ); tNode = FindNode( aNode, wxT( "rotation" ) ); if( tNode ) { str = tNode->GetNodeContent(); str.Trim( false ); aTextValue->textRotation = StrToInt1Units( str ); } str = FindNodeGetContent( aNode, wxT( "isVisible" ) ); if( str == wxT( "True" ) ) aTextValue->textIsVisible = 1; else if( str == wxT( "False" ) ) aTextValue->textIsVisible = 0; str = FindNodeGetContent( aNode, wxT( "justify" ) ); aTextValue->justify = GetJustifyIdentificator( str ); str = FindNodeGetContent( aNode, wxT( "isFlipped" ) ); if( str == wxT( "True" ) ) aTextValue->mirror = 1; tNode = FindNode( aNode, wxT( "textStyleRef" ) ); if( tNode ) SetFontProperty( tNode, aTextValue, aDefaultMeasurementUnit, aActualConversion ); }
void PCB_TEXT::Parse( XNODE* aNode, int aLayer, wxString aDefaultMeasurementUnit, wxString aActualConversion ) { XNODE* lNode; wxString str; m_PCadLayer = aLayer; m_KiCadLayer = GetKiCadLayer(); m_positionX = 0; m_positionY = 0; m_name.mirror = 0; // Normal, not mirrored lNode = FindNode( aNode, wxT( "pt" ) ); if( lNode ) SetPosition( lNode->GetNodeContent(), aDefaultMeasurementUnit, &m_positionX, &m_positionY, aActualConversion ); lNode = FindNode( aNode, wxT( "rotation" ) ); if( lNode ) { str = lNode->GetNodeContent(); str.Trim( false ); m_rotation = StrToInt1Units( str ); } aNode->GetAttribute( wxT( "Name" ), &m_name.text ); m_name.text.Replace( "\r", "" ); str = FindNodeGetContent( aNode, wxT( "justify" ) ); m_name.justify = GetJustifyIdentificator( str ); str = FindNodeGetContent( aNode, wxT( "isFlipped" ) ); if( str == wxT( "True" ) ) m_name.mirror = 1; lNode = FindNode( aNode, wxT( "textStyleRef" ) ); if( lNode ) SetFontProperty( lNode, &m_name, aDefaultMeasurementUnit, aActualConversion ); }
void AwtDesktopProperties::GetNonClientParameters() { // // general window properties // NONCLIENTMETRICS ncmetrics; // Fix for 6944516: specify correct size for ncmetrics on WIN2K/XP // Microsoft recommend to subtract the size of 'iPaddedBorderWidth' field // when running on XP. However this can't be referenced at compile time // with the older SDK, so there use 'lfMessageFont' plus its size. if (!IS_WINVISTA) { #if defined(_MSC_VER) && (_MSC_VER >= 1600) ncmetrics.cbSize = offsetof(NONCLIENTMETRICS, iPaddedBorderWidth); #else ncmetrics.cbSize = offsetof(NONCLIENTMETRICS,lfMessageFont) + sizeof(LOGFONT); #endif } else { ncmetrics.cbSize = sizeof(ncmetrics); } VERIFY( SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ncmetrics.cbSize, &ncmetrics, FALSE) ); float invScaleX; float invScaleY; getInvScale(invScaleX, invScaleY); SetFontProperty(TEXT("win.frame.captionFont"), ncmetrics.lfCaptionFont, invScaleY); SetIntegerProperty(TEXT("win.frame.captionHeight"), rescale(ncmetrics.iCaptionHeight, invScaleY)); SetIntegerProperty(TEXT("win.frame.captionButtonWidth"), rescale(ncmetrics.iCaptionWidth, invScaleX)); SetIntegerProperty(TEXT("win.frame.captionButtonHeight"), rescale(ncmetrics.iCaptionHeight, invScaleY)); SetFontProperty(TEXT("win.frame.smallCaptionFont"), ncmetrics.lfSmCaptionFont, invScaleY); SetIntegerProperty(TEXT("win.frame.smallCaptionHeight"), rescale(ncmetrics.iSmCaptionHeight, invScaleY)); SetIntegerProperty(TEXT("win.frame.smallCaptionButtonWidth"), rescale(ncmetrics.iSmCaptionWidth, invScaleX)); SetIntegerProperty(TEXT("win.frame.smallCaptionButtonHeight"), rescale(ncmetrics.iSmCaptionHeight, invScaleY)); SetIntegerProperty(TEXT("win.frame.sizingBorderWidth"), rescale(ncmetrics.iBorderWidth, invScaleX)); // menu properties SetFontProperty(TEXT("win.menu.font"), ncmetrics.lfMenuFont, invScaleY); SetIntegerProperty(TEXT("win.menu.height"), rescale(ncmetrics.iMenuHeight, invScaleY)); SetIntegerProperty(TEXT("win.menu.buttonWidth"), rescale(ncmetrics.iMenuWidth, invScaleX)); // scrollbar properties SetIntegerProperty(TEXT("win.scrollbar.width"), rescale(ncmetrics.iScrollWidth, invScaleX)); SetIntegerProperty(TEXT("win.scrollbar.height"), rescale(ncmetrics.iScrollHeight, invScaleY)); // status bar and tooltip properties SetFontProperty(TEXT("win.status.font"), ncmetrics.lfStatusFont, invScaleY); SetFontProperty(TEXT("win.tooltip.font"), ncmetrics.lfStatusFont, invScaleY); // message box properties SetFontProperty(TEXT("win.messagebox.font"), ncmetrics.lfMessageFont, invScaleY); }
void AwtDesktopProperties::GetSystemProperties() { HDC dc = CreateDC(TEXT("DISPLAY"), NULL, NULL, NULL); if (dc != NULL) { try { float invScaleX; float invScaleY; getInvScale(invScaleX, invScaleY); SetFontProperty(dc, ANSI_FIXED_FONT, TEXT("win.ansiFixed.font"), 1.0f); SetFontProperty(dc, ANSI_VAR_FONT, TEXT("win.ansiVar.font"), 1.0f); SetFontProperty(dc, DEVICE_DEFAULT_FONT, TEXT("win.deviceDefault.font"), 1.0f); SetFontProperty(dc, DEFAULT_GUI_FONT, TEXT("win.defaultGUI.font"), invScaleY); SetFontProperty(dc, OEM_FIXED_FONT, TEXT("win.oemFixed.font"), 1.0f); SetFontProperty(dc, SYSTEM_FONT, TEXT("win.system.font"), 1.0f); SetFontProperty(dc, SYSTEM_FIXED_FONT, TEXT("win.systemFixed.font"), 1.0f); } catch (std::bad_alloc&) { DeleteDC(dc); throw; } DeleteDC(dc); } }