int itemIndex = __pDateTimeBarModel->GetFirstDrawnItemIndex();
_DateTimeBarItem* pItem = __pDateTimeBarModel->GetItemAt(itemIndex);
float startX = 0.0f;
+ float itemMargin = 0.0f;
+ itemMargin = GetItemMargin();
while (pItem != null)
{
itemBounds.x -= startX;
}
+ itemBounds.x = itemBounds.x - (itemMargin / 2.0f);
+ itemBounds.width = itemBounds.width + itemMargin;
+
if (itemBounds.Contains(point) == true)
{
return itemIndex;
GET_SHAPE_CONFIG(EDITDATE::TITLE_DATE_MARGIN, __pEditDate->GetOrientation(), titledateMargin);
GET_SHAPE_CONFIG(EDITDATE::DATE_HEIGHT, __pEditDate->GetOrientation(), dateHeight);
GET_SHAPE_CONFIG(EDITDATE::TITLE_HEIGHT, __pEditDate->GetOrientation(), __titleBounds.height);
- GET_SHAPE_CONFIG(EDITDATE::TEXT_ELEMENT_WIDTH, __pEditDate->GetOrientation(), __elementWidth);
+
+ CalculateElementWidth();
if (__pEditDate->GetBoundsF().height > editDateHeight)
{
return;
}
+void
+_EditDatePresenter::CalculateElementWidth(void)
+{
+ FloatRectangle bounds;
+ FloatDimension minSize;
+ bounds = __pEditDate->GetBoundsF();
+
+ float elementMinWidth = 0.0f;
+ float width = 0.0f;
+ float minWidth = 0.0f;
+
+ GET_SHAPE_CONFIG(EDITDATE::TEXT_ELEMENT_WIDTH, __pEditDate->GetOrientation(), __elementWidth);
+ GET_SHAPE_CONFIG(EDITDATE::TEXT_ELEMENT_MIN_WIDTH, __pEditDate->GetOrientation(), elementMinWidth);
+ GET_SHAPE_CONFIG(EDITDATE::WIDTH, __pEditDate->GetOrientation(), width);
+ GET_DIMENSION_CONFIG(EDITDATE::MIN_SIZE, __pEditDate->GetOrientation(), minSize);
+
+ if (bounds.width >= width)
+ {
+ return;
+ }
+
+ if (bounds.width <= minSize.width)
+ {
+ __elementWidth = elementMinWidth;
+ }
+ else if (bounds.width < width && bounds.width > minSize.width)
+ {
+ __elementWidth = __elementWidth - ((__elementWidth - elementMinWidth) / (width - minWidth)) * (width - bounds.width);
+ }
+
+ return;
+}
+
result
_EditDatePresenter::DrawTitle(Canvas& canvas)
{
{
result r = E_SUCCESS;
- float elementWidth = 0.0f;
float editDateHeight = 0.0f;
float dateHeight = 0.0f;
- GET_SHAPE_CONFIG(EDITDATE::TEXT_ELEMENT_WIDTH, __pEditDate->GetOrientation(), elementWidth);
GET_SHAPE_CONFIG(EDITDATE::DATE_HEIGHT, __pEditDate->GetOrientation(), dateHeight);
GET_SHAPE_CONFIG(EDITDATE::HEIGHT, __pEditDate->GetOrientation(), editDateHeight);
FloatRectangle bounds(0.0f, 0.0f, 0.0f, 0.0f);
- bounds.x = elementWidth;
+ bounds.x = __elementWidth;
if (__title.IsEmpty() == false)
{
r = canvas.DrawLine(FloatPoint(bounds.x + 1.0f, bounds.y), FloatPoint(bounds.x + 1.0f, bounds.y + __dividerLineHeight));
SysTryReturnResult(NID_UI_CTRL, (r == E_SUCCESS), r, "[%s] Propagating.", GetErrorMessage(r));
- bounds.x = bounds.x + elementWidth;
+ bounds.x = bounds.x + __elementWidth;
}
return r;
GET_SHAPE_CONFIG(EDITTIME::HEIGHT, __pEditTime->GetOrientation(), bounds.height);
GET_SHAPE_CONFIG(EDITTIME::COLON_WIDTH, __pEditTime->GetOrientation(), colonWidth);
GET_SHAPE_CONFIG(EDITTIME::TIME_AMPM_MARGIN, __pEditTime->GetOrientation(), margin);
- GET_SHAPE_CONFIG(EDITTIME::TIME_TEXT_LEFT_MARGIN, __pEditTime->GetOrientation(), leftMargin);
GET_SHAPE_CONFIG(EDITTIME::COLON_MARGIN, __pEditTime->GetOrientation(), colonMargin);
GET_SHAPE_CONFIG(EDITTIME::HOUR_MINUTE_WIDTH, __pEditTime->GetOrientation(), timeElementWidth);
GET_SHAPE_CONFIG(EDITTIME::AMPM_HEIGHT, __pEditTime->GetOrientation(), amPmHeight);
GET_SHAPE_CONFIG(EDITTIME::TITLE_TIME_MARGIN, __pEditTime->GetOrientation(), titleTimeMargin);
GET_SHAPE_CONFIG(EDITTIME::TIME_HEIGHT, __pEditTime->GetOrientation(), timeHeight);
+ leftMargin = GetLeftMargin();
+
if (__pEditTime->GetBoundsF().height > bounds.height)
{
bounds.height = __pEditTime->GetBoundsF().height;
void
_EditTimePresenter::SetTitleBounds(void)
{
- GET_SHAPE_CONFIG(EDITTIME::TIME_TEXT_LEFT_MARGIN, __pEditTime->GetOrientation(), __titleBounds.x);
+ if (__pEditTime->GetOrientation() == _CONTROL_ORIENTATION_LANDSCAPE)
+ {
+ GET_SHAPE_CONFIG(EDITTIME::TIME_TEXT_LEFT_MARGIN, __pEditTime->GetOrientation(), __titleBounds.x);
+ }
+ else
+ {
+ __titleBounds.x = GetLeftMargin();
+ }
GET_SHAPE_CONFIG(EDITTIME::WIDTH, __pEditTime->GetOrientation(), __titleBounds.width);
GET_SHAPE_CONFIG(EDITTIME::TITLE_HEIGHT, __pEditTime->GetOrientation(), __titleBounds.height);
return;
}
+float
+_EditTimePresenter::GetLeftMargin(void) const
+{
+ FloatRectangle bounds;
+ FloatDimension minSize;
+ bounds = __pEditTime->GetBoundsF();
+
+ float leftMargin = 0.0f;
+ float leftMinMargin = 0.0f;
+ float width = 0.0f;
+
+ GET_SHAPE_CONFIG(EDITTIME::TIME_TEXT_LEFT_MARGIN, __pEditTime->GetOrientation(), leftMargin);
+ GET_SHAPE_CONFIG(EDITTIME::TIME_TEXT_LEFT_MIN_MARGIN, __pEditTime->GetOrientation(), leftMinMargin);
+ GET_SHAPE_CONFIG(EDITTIME::WIDTH, __pEditTime->GetOrientation(), width);
+
+ GET_DIMENSION_CONFIG(EDITTIME::MIN_SIZE, __pEditTime->GetOrientation(), minSize);
+
+ if (bounds.width >= width)
+ {
+ return leftMargin;
+ }
+
+ if (bounds.width <= minSize.width)
+ {
+ leftMargin = leftMinMargin;
+ }
+ else if (bounds.width < width && bounds.width > minSize.width)
+ {
+ leftMargin = leftMargin - ((leftMargin - leftMinMargin) / (width - minSize.width)) * (width - bounds.width);
+ }
+
+ return leftMargin;
+}
+
result
_EditTimePresenter::InitializeTitleObject(void)
{
pReplacementBitmap = __pAmPmBgPressedColorReplacementBitmap;
pEffectBitmap = __pAmPmBgEffectPressedBitmap;
}
-
- r = DrawResourceBitmap(*pCanvas, ampmBounds, pReplacementBitmap);
- SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
-
- if (!isCustomBitmap)
- {
- r = DrawResourceBitmap(*pCanvas, ampmBounds, pEffectBitmap);
- SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
- }
}
if (GetHour() >= DATETIME_HOUR_MAX_FOR_24NOTATION)
r = DrawText(*pCanvas, minuteBounds, __minuteString, DATETIME_ID_MINUTE);
SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
+ r = DrawColon(*pCanvas, colonBounds);
+ SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
+
+ CalculateTouchAreaBounds(hourBounds, minuteBounds);
+
if (__24hours == false)
{
+ r = DrawResourceBitmap(*pCanvas, ampmBounds, pReplacementBitmap);
+ SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
+
+ if (!isCustomBitmap)
+ {
+ r = DrawResourceBitmap(*pCanvas, ampmBounds, pEffectBitmap);
+ SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
+ }
+
r = DrawText(*pCanvas, ampmBounds, __ampmString, DATETIME_ID_AMPM, __amPmTextSize);
SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
}
- r = DrawColon(*pCanvas, colonBounds);
- SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
-
- CalculateTouchAreaBounds(hourBounds, minuteBounds);
CATCH:
delete pCanvas;
_DateTimeId GetBoxIdFromPosition(const Tizen::Graphics::FloatPoint& point) const;
void CalculateTouchAreaBounds(void);
+ void CalculateElementWidth(void);
private:
_DateTimeModel* __pEditDateTimeModel;
result LoadResource(void);
result DrawResourceBitmap(Tizen::Graphics::Canvas& canvas, const Tizen::Graphics::FloatRectangle& bounds, Tizen::Graphics::Bitmap* pBitmap);
void CalculateTouchAreaBounds(const Tizen::Graphics::FloatRectangle hourBounds, const Tizen::Graphics::FloatRectangle minuteBounds);
+ float GetLeftMargin(void) const;
private:
_DateTimeModel* __pEditDateTimeModel;
DECLARE_SHAPE_CONFIG(ITEM_DIVIDER_HEIGHT,9);
DECLARE_SHAPE_CONFIG(TITLE_DATE_MARGIN,10);
DECLARE_SHAPE_CONFIG(DATE_BAR_MARGIN,11);
+ DECLARE_SHAPE_CONFIG(TEXT_ELEMENT_MIN_WIDTH,12);
DECLARE_FIXED_VALUE_CONFIG(ITEM_DIVIDER_WIDTH,1);
DECLARE_DIMENSION_CONFIG(MIN_SIZE,1);
DECLARE_END_UI_CONFIG(EDITDATE);
-#endif //_FUI_RESOURCE_EDIT_DATE_CONFIG_H_
\ No newline at end of file
+#endif //_FUI_RESOURCE_EDIT_DATE_CONFIG_H_
DECLARE_SHAPE_CONFIG(COLON_WIDTH,15);
DECLARE_SHAPE_CONFIG(COLON_MARGIN,16);
DECLARE_SHAPE_CONFIG(TIME_TEXT_LEFT_MARGIN,17);
+ DECLARE_SHAPE_CONFIG(TIME_TEXT_LEFT_MIN_MARGIN,18);
DECLARE_DIMENSION_CONFIG(MIN_SIZE,1);
DECLARE_END_UI_CONFIG(EDITTIME);
START_UI_CONFIG_MODE(720x1280);
{
- ADD_SHAPE_CONFIG(WIDTH, 720);
+ ADD_SHAPE_CONFIG(WIDTH, 400);
ADD_SHAPE_CONFIG(HEIGHT, 112);
ADD_SHAPE_CONFIG(DATE_HEIGHT, 46);
ADD_SHAPE_CONFIG(TITLE_HEIGHT, 36);
ADD_SHAPE_CONFIG(DATE_FONT_SIZE, 36);
ADD_SHAPE_CONFIG(TEXT_FONT_SIZE, 32);
ADD_SHAPE_CONFIG(DATE_TEXT_LEFT_MARGIN, 20);
- ADD_SHAPE_CONFIG(TEXT_ELEMENT_WIDTH, 130);
+ ADD_SHAPE_CONFIG(TEXT_ELEMENT_WIDTH, 132);
+ ADD_SHAPE_CONFIG(TEXT_ELEMENT_MIN_WIDTH, 122);
ADD_FIXED_VALUE_CONFIG(ITEM_DIVIDER_WIDTH, 2);
ADD_SHAPE_CONFIG(ITEM_DIVIDER_HEIGHT, 42);
ADD_SHAPE_CONFIG(TITLE_DATE_MARGIN, 5);
ADD_SHAPE_CONFIG(DATE_BAR_MARGIN, 10);
- ADD_DIMENSION_CONFIG(MIN_SIZE, 0, 0);
+ ADD_DIMENSION_CONFIG(MIN_SIZE, 370, 112);
}
END_UI_CONFIG_MODE(720x1280);
START_UI_CONFIG_MODE(1280x720);
{
- ADD_DIMENSION_CONFIG(MIN_SIZE, 0, 0);
- ADD_SHAPE_CONFIG(WIDTH, _SCREEN_HEIGHT_);
+ ADD_DIMENSION_CONFIG(MIN_SIZE, 370, 112);
+ ADD_SHAPE_CONFIG(WIDTH, 730);
ADD_SHAPE_CONFIG(TEXT_ELEMENT_WIDTH, 242);
}
END_UI_CONFIG_MODE(1280x720);
START_UI_CONFIG_MODE(720x1280);
{
- ADD_SHAPE_CONFIG(WIDTH, 720);
+ ADD_SHAPE_CONFIG(WIDTH, 292);
ADD_SHAPE_CONFIG(HEIGHT, 112);
ADD_SHAPE_CONFIG(TIME_WIDTH, 114);
ADD_SHAPE_CONFIG(HOUR_MINUTE_WIDTH, 48);
ADD_SHAPE_CONFIG(TITLE_TIME_MARGIN, 5);
ADD_SHAPE_CONFIG(TIME_BAR_MARGIN, 10);
ADD_SHAPE_CONFIG(TIME_HEIGHT, 46);
- ADD_SHAPE_CONFIG(TIME_AMPM_MARGIN, 24);
+ ADD_SHAPE_CONFIG(TIME_AMPM_MARGIN, 26);
ADD_SHAPE_CONFIG(AMPM_WIDTH, 106);
ADD_SHAPE_CONFIG(AMPM_HEIGHT, 56);
ADD_SHAPE_CONFIG(TITLE_HEIGHT, 36);
ADD_SHAPE_CONFIG(COLON_WIDTH, 12);
ADD_SHAPE_CONFIG(COLON_MARGIN, 3);
ADD_SHAPE_CONFIG(TIME_TEXT_LEFT_MARGIN, 20);
- ADD_DIMENSION_CONFIG(MIN_SIZE, 0, 0);
+ ADD_SHAPE_CONFIG(TIME_TEXT_LEFT_MIN_MARGIN, 10);
+ ADD_DIMENSION_CONFIG(MIN_SIZE, 270, 112);
}
END_UI_CONFIG_MODE(720x1280);
START_UI_CONFIG_MODE(1280x720);
{
- ADD_DIMENSION_CONFIG(MIN_SIZE, 0, 0);
- ADD_SHAPE_CONFIG(WIDTH, _SCREEN_HEIGHT_);
+ ADD_DIMENSION_CONFIG(MIN_SIZE, 270, 112);
+ ADD_SHAPE_CONFIG(WIDTH, 516);
ADD_SHAPE_CONFIG(TIME_WIDTH, 242);
ADD_SHAPE_CONFIG(TIME_AMPM_MARGIN, 84);
}