mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-07-23 03:02:50 +03:00
Pixel Density fixes.
--HG-- branch : dev
This commit is contained in:
@@ -190,7 +190,17 @@ UIControl * UIControl::setSize( const Int32& Width, const Int32& Height ) {
|
||||
}
|
||||
|
||||
void UIControl::setPixelsSize( const Sizei & size ) {
|
||||
setSize( PixelDensity::pxToDpI( size ) );
|
||||
if ( size != mRealSize ) {
|
||||
Vector2i sizeChange( size.x - mRealSize.x, size.y - mRealSize.y );
|
||||
|
||||
setInternalPixelsSize( size );
|
||||
|
||||
onSizeChange();
|
||||
|
||||
if ( mFlags & UI_REPORT_SIZE_CHANGE_TO_CHILDS ) {
|
||||
sendParentSizeChange( PixelDensity::pxToDpI( sizeChange ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void UIControl::setPixelsSize( const Int32& x, const Int32& y ) {
|
||||
|
||||
@@ -71,7 +71,7 @@ UIMenuItem * UIMenu::createMenuItem( const String& Text, Drawable * Icon ) {
|
||||
tCtrl->setParent( this );
|
||||
tCtrl->setStyleConfig( styleConfig );
|
||||
tCtrl->setIcon( Icon );
|
||||
tCtrl->setText( Text );;
|
||||
tCtrl->setText( Text );
|
||||
|
||||
return tCtrl;
|
||||
}
|
||||
@@ -129,12 +129,12 @@ bool UIMenu::checkControlSize( UIControl * Control, const bool& Resize ) {
|
||||
|
||||
if ( mFlags & UI_AUTO_SIZE ) {
|
||||
if ( Control->isType( UI_TYPE_MENUSUBMENU ) ) {
|
||||
Int32 textWidth = PixelDensity::pxToDpI( tItem->getTextBox()->getTextWidth() );
|
||||
Int32 textWidth = tItem->getTextBox()->getTextWidth();
|
||||
|
||||
UIMenuSubMenu * tMenu = reinterpret_cast<UIMenuSubMenu*> ( tItem );
|
||||
|
||||
if ( textWidth + (Int32)mBiggestIcon + tMenu->getArrow()->getSize().getWidth() + (Int32)mStyleConfig.MinRightMargin > (Int32)mMaxWidth ) {
|
||||
mMaxWidth = textWidth + mBiggestIcon + mStyleConfig.Padding.Left + mStyleConfig.Padding.Right + tMenu->getArrow()->getSize().getWidth() + mStyleConfig.MinRightMargin;
|
||||
if ( textWidth + PixelDensity::dpToPxI( mBiggestIcon ) + tMenu->getArrow()->getRealSize().getWidth() + PixelDensity::dpToPxI( mStyleConfig.MinRightMargin ) > (Int32)mMaxWidth ) {
|
||||
mMaxWidth = textWidth + PixelDensity::dpToPxI( mBiggestIcon + mStyleConfig.Padding.Left + mStyleConfig.Padding.Right + mStyleConfig.MinRightMargin ) + tMenu->getArrow()->getRealSize().getWidth();
|
||||
|
||||
if ( Resize ) {
|
||||
resizeControls();
|
||||
@@ -143,8 +143,8 @@ bool UIMenu::checkControlSize( UIControl * Control, const bool& Resize ) {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ( Control->getSize().getWidth() > (Int32)mMaxWidth ) {
|
||||
mMaxWidth = Control->getSize().getWidth();
|
||||
if ( Control->getRealSize().getWidth() > (Int32)mMaxWidth ) {
|
||||
mMaxWidth = Control->getRealSize().getWidth();
|
||||
|
||||
if ( Resize ) {
|
||||
resizeControls();
|
||||
@@ -167,9 +167,9 @@ Uint32 UIMenu::add( UIControl * Control ) {
|
||||
|
||||
setControlSize( Control, getCount() );
|
||||
|
||||
Control->setPosition( mStyleConfig.Padding.Left, mStyleConfig.Padding.Top + mNextPosY );
|
||||
Control->setPixelsPosition( PixelDensity::dpToPxI( mStyleConfig.Padding.Left ), PixelDensity::dpToPxI( mStyleConfig.Padding.Top ) + mNextPosY );
|
||||
|
||||
mNextPosY += Control->getSize().getHeight();
|
||||
mNextPosY += Control->getRealSize().getHeight();
|
||||
|
||||
mItems.push_back( Control );
|
||||
|
||||
@@ -179,16 +179,16 @@ Uint32 UIMenu::add( UIControl * Control ) {
|
||||
}
|
||||
|
||||
void UIMenu::setControlSize( UIControl * Control, const Uint32& Pos ) {
|
||||
Control->setSize( mSize.getWidth(), Control->getSize().getHeight() );
|
||||
Control->setPixelsSize( mRealSize.getWidth(), Control->getRealSize().getHeight() );
|
||||
}
|
||||
|
||||
Uint32 UIMenu::addSeparator() {
|
||||
UIMenuSeparator * Control = UIMenuSeparator::New();
|
||||
Control->setParent( this );
|
||||
Control->setPosition( mStyleConfig.Padding.Left, mStyleConfig.Padding.Top + mNextPosY );
|
||||
Control->setSize( mSize.getWidth() - mStyleConfig.Padding.Left - mStyleConfig.Padding.Right, Control->getSkinSize().getHeight() );
|
||||
Control->setPixelsPosition( PixelDensity::dpToPxI( mStyleConfig.Padding.Left ), PixelDensity::dpToPxI( mStyleConfig.Padding.Top ) + mNextPosY );
|
||||
Control->setPixelsSize( mRealSize.getWidth() - PixelDensity::dpToPxI( mStyleConfig.Padding.Left - mStyleConfig.Padding.Right ), PixelDensity::dpToPxI( Control->getSkinSize().getHeight() ) );
|
||||
|
||||
mNextPosY += Control->getSize().getHeight();
|
||||
mNextPosY += Control->getRealSize().getHeight();
|
||||
|
||||
mItems.push_back( Control );
|
||||
|
||||
@@ -314,7 +314,7 @@ Uint32 UIMenu::onMessage( const UIMessage * Msg ) {
|
||||
|
||||
void UIMenu::onSizeChange() {
|
||||
if ( 0 != mStyleConfig.MinWidth && mSize.getWidth() < (Int32)mStyleConfig.MinWidth ) {
|
||||
setSize( mStyleConfig.MinWidth, mNextPosY + mStyleConfig.Padding.Top + mStyleConfig.Padding.Bottom );
|
||||
setSize( mStyleConfig.MinWidth, PixelDensity::pxToDpI( mNextPosY ) + mStyleConfig.Padding.Top + mStyleConfig.Padding.Bottom );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -346,9 +346,11 @@ void UIMenu::rePosControls() {
|
||||
}
|
||||
|
||||
for ( i = 0; i < mItems.size(); i++ ) {
|
||||
mItems[i]->setPosition( mStyleConfig.Padding.Left, mStyleConfig.Padding.Top + mNextPosY );
|
||||
UIControl * ctrl = mItems[i];
|
||||
|
||||
mNextPosY += mItems[i]->getSize().getHeight();
|
||||
ctrl->setPixelsPosition( PixelDensity::dpToPxI( mStyleConfig.Padding.Left ), PixelDensity::dpToPxI( mStyleConfig.Padding.Top ) + mNextPosY );
|
||||
|
||||
mNextPosY += ctrl->getRealSize().getHeight();
|
||||
}
|
||||
|
||||
resizeMe();
|
||||
@@ -356,9 +358,9 @@ void UIMenu::rePosControls() {
|
||||
|
||||
void UIMenu::resizeMe() {
|
||||
if ( mFlags & UI_AUTO_SIZE ) {
|
||||
setSize( mMaxWidth, mNextPosY + mStyleConfig.Padding.Top + mStyleConfig.Padding.Bottom );
|
||||
setPixelsSize( mMaxWidth, mNextPosY + PixelDensity::dpToPxI( mStyleConfig.Padding.Top + mStyleConfig.Padding.Bottom ) );
|
||||
} else {
|
||||
setSize( mSize.getWidth(), mNextPosY + mStyleConfig.Padding.Top + mStyleConfig.Padding.Bottom );
|
||||
setPixelsSize( mRealSize.getWidth(), mNextPosY + PixelDensity::dpToPxI( mStyleConfig.Padding.Top + mStyleConfig.Padding.Bottom ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -279,7 +279,7 @@ void EETest::createUI() {
|
||||
if ( PixelDensity::getPixelDensity() >= 2 ) {
|
||||
mThemeName += "2x";
|
||||
} else if ( PixelDensity::getPixelDensity() >= 1.1 ) {
|
||||
mThemeName += "1.5x";
|
||||
//mThemeName += "1.5x";
|
||||
}
|
||||
|
||||
createUIThemeTextureAtlas();
|
||||
|
||||
Reference in New Issue
Block a user