2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.tizenopensource.org/license
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
21 #include <FGraphics.h>
22 #include <WaitPopup.h>
25 const int POPUP_X = 400;
26 const int POPUP_Y = 300;
29 using namespace Osp::Base;
30 using namespace Osp::Ui;
31 using namespace Osp::Ui::Controls;
32 using namespace Osp::Graphics;
33 using namespace Osp::Base::Collection;
35 WaitPopup::WaitPopup()
38 , __pAnimationFrameList(null)
40 , __terminateThread(false)
44 WaitPopup::~WaitPopup()
56 WaitPopup::ShowPopup(String szTitle)
61 Dimension dim(POPUP_X, POPUP_Y);
62 Bitmap *pBitmap1 = null;
63 Bitmap *pBitmap2 = null;
64 Bitmap *pBitmap3 = null;
65 Bitmap *pBitmap4 = null;
66 Bitmap *pBitmap5 = null;
67 Bitmap *pBitmap6 = null;
68 Bitmap *pBitmap7 = null;
69 Bitmap *pBitmap8 = null;
70 AnimationFrame *pAniFrame1 = null;
71 AnimationFrame *pAniFrame2 = null;
72 AnimationFrame *pAniFrame3 = null;
73 AnimationFrame *pAniFrame4 = null;
74 AnimationFrame *pAniFrame5 = null;
75 AnimationFrame *pAniFrame6 = null;
76 AnimationFrame *pAniFrame7 = null;
77 AnimationFrame *pAniFrame8 = null;
82 __pPopup = new Popup();
85 return E_OUT_OF_MEMORY;
87 r = __pPopup->Construct(true, dim);
88 r = __pPopup->SetTitleText(szTitle);
89 // r = __pPopup->SetPosition(50, 10);
92 Osp::App::AppResource *pAppResource = Osp::App::Application::GetInstance()->GetAppResource();
93 if (null == pAppResource)
99 pBitmap1 = pAppResource->GetBitmapN(L"/white/progressing00_big.png");
100 if (null == pBitmap1)
105 pBitmap2 = pAppResource->GetBitmapN(L"/white/progressing01_big.png");
106 if (null == pBitmap2)
111 pBitmap3 = pAppResource->GetBitmapN(L"/white/progressing02_big.png");
112 if (null == pBitmap3)
117 pBitmap4 = pAppResource->GetBitmapN(L"/white/progressing03_big.png");
118 if (null == pBitmap4)
123 pBitmap5 = pAppResource->GetBitmapN(L"/white/progressing04_big.png");
124 if (null == pBitmap5)
129 pBitmap6 = pAppResource->GetBitmapN(L"/white/progressing05_big.png");
130 if (null == pBitmap6)
135 pBitmap7 = pAppResource->GetBitmapN(L"/white/progressing06_big.png");
136 if (null == pBitmap7)
141 pBitmap8 = pAppResource->GetBitmapN(L"/white/progressing07_big.png");
142 if (null == pBitmap8)
148 // Create AnimationFrames
150 pAniFrame1 = new AnimationFrame(*pBitmap1, duration);
151 if (null == pAniFrame1)
156 pAniFrame2 = new AnimationFrame(*pBitmap2, duration);
157 if (null == pAniFrame2)
162 pAniFrame3 = new AnimationFrame(*pBitmap3, duration);
163 if (null == pAniFrame3)
168 pAniFrame4 = new AnimationFrame(*pBitmap4, duration);
169 if (null == pAniFrame4)
174 pAniFrame5 = new AnimationFrame(*pBitmap5, duration);
175 if (null == pAniFrame5)
180 pAniFrame6 = new AnimationFrame(*pBitmap6, duration);
181 if (null == pAniFrame6)
186 pAniFrame7 = new AnimationFrame(*pBitmap7, duration);
187 if (null == pAniFrame7)
192 pAniFrame8 = new AnimationFrame(*pBitmap8, duration);
193 if (null == pAniFrame8)
199 // Create AnimationList
200 __pAnimationFrameList = new ArrayList();
201 if (null == __pAnimationFrameList)
207 __pAnimationFrameList->Construct();
208 __pAnimationFrameList->Add(*pAniFrame1);
209 __pAnimationFrameList->Add(*pAniFrame2);
210 __pAnimationFrameList->Add(*pAniFrame3);
211 __pAnimationFrameList->Add(*pAniFrame4);
212 __pAnimationFrameList->Add(*pAniFrame5);
213 __pAnimationFrameList->Add(*pAniFrame6);
214 __pAnimationFrameList->Add(*pAniFrame7);
215 __pAnimationFrameList->Add(*pAniFrame8);
218 __pAnimation = new Animation();
219 if (null == __pAnimation)
225 __pAnimation->Construct(Osp::Graphics::Rectangle((POPUP_X / 2) - 75, (POPUP_Y / 2) - 105, 120, 120), *__pAnimationFrameList);
226 __pAnimation->SetRepeatCount(10000);
227 __pPopup->AddControl(*__pAnimation);
229 __pPopup->SetShowState(true);
233 __pAnimation->Play();
238 // Deallocate a Bitmap.
258 AppLog("CipherMessage: Failed to Create Waiting Popup.");
259 if (__pAnimationFrameList)
261 delete __pAnimationFrameList;
262 __pAnimationFrameList = null;
276 WaitPopup::HidePopup(void)
280 __pPopup->SetShowState(false);
286 if (__pAnimationFrameList)
288 __pAnimationFrameList->RemoveAll(true);
289 delete __pAnimationFrameList;
290 __pAnimationFrameList = null;