X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-demo.git;a=blobdiff_plain;f=examples%2Fcontact-cards%2Fcontact-card-layouter.cpp;h=d4eef9a43f9b07b513913cc1aa3427e3b7f514fa;hp=e5ab2c9c6c846b1b12d23e204db59c43a7ee1eb3;hb=1b19fd140ff139b5854a1a62447faf31b175d8f6;hpb=b26d446b0cb6a316abc3a79d4fc70d0ae1b7994c diff --git a/examples/contact-cards/contact-card-layouter.cpp b/examples/contact-cards/contact-card-layouter.cpp index e5ab2c9..d4eef9a 100644 --- a/examples/contact-cards/contact-card-layouter.cpp +++ b/examples/contact-cards/contact-card-layouter.cpp @@ -27,16 +27,16 @@ namespace { const float DEFAULT_PADDING = 25.0f; -const float MINIMUM_ITEMS_PER_ROW_OR_COLUMN( 3.0f ); +const float MINIMUM_ITEMS_PER_ROW_OR_COLUMN(3.0f); -const float HEADER_HEIGHT_TO_UNFOLDED_SIZE_RATIO( 0.1f ); -const Vector2 HEADER_FOLDED_POSITION_AS_RATIO_OF_SIZE( -0.05f, -1.5f ); -const Vector2 HEADER_UNFOLDED_POSITION( Vector2::ZERO ); +const float HEADER_HEIGHT_TO_UNFOLDED_SIZE_RATIO(0.1f); +const Vector2 HEADER_FOLDED_POSITION_AS_RATIO_OF_SIZE(-0.05f, -1.5f); +const Vector2 HEADER_UNFOLDED_POSITION(Vector2::ZERO); -const float IMAGE_SIZE_AS_RATIO_TO_FOLDED_SIZE( 0.5f ); -const Vector2 IMAGE_FOLDED_POSITION_AS_RATIO_OF_SIZE( 0.5f, 0.25f ); +const float IMAGE_SIZE_AS_RATIO_TO_FOLDED_SIZE(0.5f); +const Vector2 IMAGE_FOLDED_POSITION_AS_RATIO_OF_SIZE(0.5f, 0.25f); -const float FOLDED_TEXT_POSITION_AS_RATIO_OF_IMAGE_SIZE( 1.01f ); +const float FOLDED_TEXT_POSITION_AS_RATIO_OF_IMAGE_SIZE(1.01f); } // unnamed namespace ContactCardLayouter::ContactCardLayouter() @@ -44,8 +44,8 @@ ContactCardLayouter::ContactCardLayouter() mContactCards(), mLastPosition(), mPositionIncrementer(), - mItemsPerRow( 0 ), - mInitialized( false ) + mItemsPerRow(0), + mInitialized(false) { } @@ -54,40 +54,40 @@ ContactCardLayouter::~ContactCardLayouter() // Nothing to do as ContactCardContainer uses intrusive pointers so they will be automatically deleted } -void ContactCardLayouter::AddContact( Dali::Window window, const std::string& contactName, const std::string& contactAddress, const std::string& imagePath ) +void ContactCardLayouter::AddContact(Dali::Window window, const std::string& contactName, const std::string& contactAddress, const std::string& imagePath) { - if( ! mInitialized ) + if(!mInitialized) { // Set up the common layouting info shared between all contact cards when first called - mContactCardLayoutInfo.unfoldedPosition = mContactCardLayoutInfo.padding = Vector2( DEFAULT_PADDING, DEFAULT_PADDING ); - mContactCardLayoutInfo.unfoldedSize = Vector2( window.GetSize() ) - mContactCardLayoutInfo.padding * ( MINIMUM_ITEMS_PER_ROW_OR_COLUMN - 1.0f ); + mContactCardLayoutInfo.unfoldedPosition = mContactCardLayoutInfo.padding = Vector2(DEFAULT_PADDING, DEFAULT_PADDING); + mContactCardLayoutInfo.unfoldedSize = Vector2(window.GetSize()) - mContactCardLayoutInfo.padding * (MINIMUM_ITEMS_PER_ROW_OR_COLUMN - 1.0f); // Calculate the size of the folded card (use the minimum of width/height as size) - mContactCardLayoutInfo.foldedSize = ( mContactCardLayoutInfo.unfoldedSize - ( mContactCardLayoutInfo.padding * ( MINIMUM_ITEMS_PER_ROW_OR_COLUMN - 1.0f ) ) ) / MINIMUM_ITEMS_PER_ROW_OR_COLUMN; - mContactCardLayoutInfo.foldedSize.width = mContactCardLayoutInfo.foldedSize.height = std::min( mContactCardLayoutInfo.foldedSize.width, mContactCardLayoutInfo.foldedSize.height ); + mContactCardLayoutInfo.foldedSize = (mContactCardLayoutInfo.unfoldedSize - (mContactCardLayoutInfo.padding * (MINIMUM_ITEMS_PER_ROW_OR_COLUMN - 1.0f))) / MINIMUM_ITEMS_PER_ROW_OR_COLUMN; + mContactCardLayoutInfo.foldedSize.width = mContactCardLayoutInfo.foldedSize.height = std::min(mContactCardLayoutInfo.foldedSize.width, mContactCardLayoutInfo.foldedSize.height); // Set the size and positions of the header - mContactCardLayoutInfo.headerSize.width = mContactCardLayoutInfo.unfoldedSize.width; - mContactCardLayoutInfo.headerSize.height = mContactCardLayoutInfo.unfoldedSize.height * HEADER_HEIGHT_TO_UNFOLDED_SIZE_RATIO; - mContactCardLayoutInfo.headerFoldedPosition = mContactCardLayoutInfo.headerSize * HEADER_FOLDED_POSITION_AS_RATIO_OF_SIZE; + mContactCardLayoutInfo.headerSize.width = mContactCardLayoutInfo.unfoldedSize.width; + mContactCardLayoutInfo.headerSize.height = mContactCardLayoutInfo.unfoldedSize.height * HEADER_HEIGHT_TO_UNFOLDED_SIZE_RATIO; + mContactCardLayoutInfo.headerFoldedPosition = mContactCardLayoutInfo.headerSize * HEADER_FOLDED_POSITION_AS_RATIO_OF_SIZE; mContactCardLayoutInfo.headerUnfoldedPosition = HEADER_UNFOLDED_POSITION; // Set the image size and positions - mContactCardLayoutInfo.imageSize = mContactCardLayoutInfo.foldedSize * IMAGE_SIZE_AS_RATIO_TO_FOLDED_SIZE; - mContactCardLayoutInfo.imageFoldedPosition = mContactCardLayoutInfo.imageSize * IMAGE_FOLDED_POSITION_AS_RATIO_OF_SIZE; + mContactCardLayoutInfo.imageSize = mContactCardLayoutInfo.foldedSize * IMAGE_SIZE_AS_RATIO_TO_FOLDED_SIZE; + mContactCardLayoutInfo.imageFoldedPosition = mContactCardLayoutInfo.imageSize * IMAGE_FOLDED_POSITION_AS_RATIO_OF_SIZE; mContactCardLayoutInfo.imageUnfoldedPosition.x = mContactCardLayoutInfo.padding.width; mContactCardLayoutInfo.imageUnfoldedPosition.y = mContactCardLayoutInfo.headerSize.height + mContactCardLayoutInfo.padding.height; // Set the positions of the contact name - mContactCardLayoutInfo.textFoldedPosition.x = 0.0f; - mContactCardLayoutInfo.textFoldedPosition.y = mContactCardLayoutInfo.imageFoldedPosition.x + mContactCardLayoutInfo.imageSize.height * FOLDED_TEXT_POSITION_AS_RATIO_OF_IMAGE_SIZE; + mContactCardLayoutInfo.textFoldedPosition.x = 0.0f; + mContactCardLayoutInfo.textFoldedPosition.y = mContactCardLayoutInfo.imageFoldedPosition.x + mContactCardLayoutInfo.imageSize.height * FOLDED_TEXT_POSITION_AS_RATIO_OF_IMAGE_SIZE; mContactCardLayoutInfo.textUnfoldedPosition.x = mContactCardLayoutInfo.padding.width; mContactCardLayoutInfo.textUnfoldedPosition.y = mContactCardLayoutInfo.imageUnfoldedPosition.y + mContactCardLayoutInfo.imageSize.height + mContactCardLayoutInfo.padding.height; // Figure out the positions of the contact cards - mItemsPerRow = ( mContactCardLayoutInfo.unfoldedSize.width + mContactCardLayoutInfo.padding.width ) / ( mContactCardLayoutInfo.foldedSize.width + mContactCardLayoutInfo.padding.width ); - mLastPosition = mContactCardLayoutInfo.unfoldedPosition; + mItemsPerRow = (mContactCardLayoutInfo.unfoldedSize.width + mContactCardLayoutInfo.padding.width) / (mContactCardLayoutInfo.foldedSize.width + mContactCardLayoutInfo.padding.width); + mLastPosition = mContactCardLayoutInfo.unfoldedPosition; mPositionIncrementer.x = mContactCardLayoutInfo.foldedSize.width + mContactCardLayoutInfo.padding.width; mPositionIncrementer.y = mContactCardLayoutInfo.foldedSize.height + mContactCardLayoutInfo.padding.height; @@ -95,16 +95,16 @@ void ContactCardLayouter::AddContact( Dali::Window window, const std::string& co } // Create a new contact card and add to our container - mContactCards.push_back( new ContactCard( window, mContactCardLayoutInfo, contactName, contactAddress, imagePath, NextCardPosition() ) ); + mContactCards.push_back(new ContactCard(window, mContactCardLayoutInfo, contactName, contactAddress, imagePath, NextCardPosition())); } const Vector2& ContactCardLayouter::NextCardPosition() { size_t currentNumOfCards = mContactCards.size(); - if( currentNumOfCards ) + if(currentNumOfCards) { - if( currentNumOfCards % mItemsPerRow ) + if(currentNumOfCards % mItemsPerRow) { mLastPosition.x += mPositionIncrementer.x; }