|
1 /* |
|
2 * Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: Manages all settings data. |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 |
|
20 #ifndef CAMSETTINGSMODEL_H |
|
21 #define CAMSETTINGSMODEL_H |
|
22 |
|
23 // INCLUDES |
|
24 |
|
25 |
|
26 #include <eikenv.h> |
|
27 |
|
28 #include "Cam.hrh" |
|
29 #include "mcamsettingsmodel.h" |
|
30 #include "CamBurstModeObserver.h" |
|
31 #include "mcamsettingpreviewhandler.h" |
|
32 |
|
33 #include "camconfigurationconstants.h" |
|
34 |
|
35 // CONSTANTS |
|
36 |
|
37 // FORWARD DECLARATIONS |
|
38 class MCamSettingsModelObserver; |
|
39 class CCamVideoQualityLevel; |
|
40 class CCamStaticSettingsModel; |
|
41 class MCamStaticSettings; |
|
42 class CCamConfiguration; |
|
43 class CCameraUiConfigManager; |
|
44 |
|
45 // STRUCTS |
|
46 |
|
47 // CLASS DECLARATIONS |
|
48 |
|
49 /** |
|
50 * Manages all static settings data. |
|
51 * @since 2.8 |
|
52 */ |
|
53 class CCamSettingsModel : public CBase, |
|
54 public MCamSettingsModel, |
|
55 public MCamSettingPreviewHandler, |
|
56 /** to be removed*/public MCamBurstModeObserver |
|
57 { |
|
58 // ========================================================================= |
|
59 public: // Constructors and destructor |
|
60 |
|
61 /** |
|
62 * Symbian two-phased constructor. |
|
63 * @param aConfiguration |
|
64 * @since 2.8 |
|
65 * engine changes. |
|
66 */ |
|
67 static CCamSettingsModel* NewLC( CCamConfiguration& aConfiguration ); |
|
68 |
|
69 /** |
|
70 * Symbian two-phased constructor. |
|
71 * @param aConfiguration |
|
72 * @since 2.8 |
|
73 * engine changes. |
|
74 */ |
|
75 static CCamSettingsModel* NewL( CCamConfiguration& aConfiguration ); |
|
76 |
|
77 |
|
78 /** |
|
79 * Destructor. |
|
80 */ |
|
81 ~CCamSettingsModel(); |
|
82 |
|
83 public: |
|
84 /** |
|
85 * Saves user defined FT setting |
|
86 * @since S60 5.0 |
|
87 * @param None |
|
88 * @return None |
|
89 */ |
|
90 void StoreFaceTrackingValue(); |
|
91 |
|
92 // ------------------------------------------------------------------------- |
|
93 // From base class MCamSettingsModel |
|
94 public: |
|
95 |
|
96 /** |
|
97 * Add a settings model observer. |
|
98 * Observers will be notified of settings changes. |
|
99 */ |
|
100 virtual void AttachObserverL( const MCamSettingsModelObserver* aObserver ); |
|
101 |
|
102 /** |
|
103 * Remove a settings model observer. |
|
104 */ |
|
105 virtual void DetachObserver( const MCamSettingsModelObserver* aObserver ); |
|
106 |
|
107 /** |
|
108 * Resets all user scene settings to their defaults. |
|
109 * @since 2.8 |
|
110 */ |
|
111 virtual void ResetUserSceneL(); |
|
112 |
|
113 /** |
|
114 * Returns the current integer value for the specified setting |
|
115 * @return the current integer setting value |
|
116 * @param aSettingItem specifies which setting item that want the value of. |
|
117 * @since 2.8 |
|
118 */ |
|
119 virtual TInt IntegerSettingValue( TInt aSettingItem ) const; |
|
120 |
|
121 /** |
|
122 * Returns the setting value for a specific field of a scene |
|
123 * @return the setting value |
|
124 * @param aSceneId specifies which scene. |
|
125 * @param aSceneId specifies which field of the scene. |
|
126 * @since 2.8 |
|
127 */ |
|
128 virtual TInt SceneSettingValue( TInt aSceneId, TInt aSceneField ) const; |
|
129 |
|
130 /** |
|
131 * Sets a new value for the specified integer setting |
|
132 * @param aSettingItem specifies which setting item that want to set the value of. |
|
133 * @param aSettingValue the new integer value for the specified setting item. |
|
134 * @since 2.8 |
|
135 */ |
|
136 virtual void SetIntegerSettingValueL( TInt aSettingItem, TInt aSettingValue ); |
|
137 |
|
138 /** |
|
139 * Sets a new text value for the specified setting |
|
140 * @param aSettingItem specifies which setting item that want to set the text value of. |
|
141 * @param aSettingValue the new text value for the specified setting item. |
|
142 * @since 2.8 |
|
143 */ |
|
144 virtual void SetTextSettingValueL( TInt aSettingItem, |
|
145 const TDesC& aSettingValue ); |
|
146 |
|
147 /** |
|
148 * Returns the current text value for the specified setting |
|
149 * @return the current text setting value |
|
150 * @param aSettingItem specifies which setting item that want the text value of. |
|
151 * @since 2.8 |
|
152 */ |
|
153 virtual TPtrC TextSettingValue( TInt aSettingItem ) const; |
|
154 |
|
155 /** |
|
156 * Returns whether a particular setting value can be set or not. |
|
157 * @return ETrue if can be set. Otherwise, EFalse. |
|
158 * @param aSettingValue the value in question. |
|
159 * @param aSettingItem the setting item in question. |
|
160 * @since 2.8 |
|
161 */ |
|
162 virtual TBool SettingValueEnabled( TInt aSettingItem, |
|
163 TInt aSettingValue ) const; |
|
164 |
|
165 /** |
|
166 * Get the default value for a setting item. |
|
167 * @param aSettingId The id of the setting. |
|
168 * @return The default value for setting item or KErrNotFound if not found. |
|
169 */ |
|
170 virtual TInt DynamicSettingDefaultValue( TInt aSettingId ) const; |
|
171 |
|
172 /** |
|
173 * Sets all dynamic settings to their defaults. |
|
174 * @since 2.8 |
|
175 */ |
|
176 virtual void SetDynamicSettingsToDefaults(); |
|
177 |
|
178 /** |
|
179 * Sets a single dynamic setting to its default. |
|
180 * @since 2.8 |
|
181 */ |
|
182 virtual void SetDynamicSettingToDefault(TInt aSettingItem); |
|
183 |
|
184 /** |
|
185 * Sets a single dynamic setting to scene default value. |
|
186 * @param aSceneId Scene which the default value is taken from. |
|
187 * @param aSceneField Id of the setting in scene data. |
|
188 * @param aSettingId Id of the setting in dynamic settings. |
|
189 * @param aVideoScene Is the scene a video scene. |
|
190 * @return KErrNotFound, if setting could not be set. |
|
191 */ |
|
192 virtual TInt SetDynamicSettingToSceneDefaultL( TInt aSceneId, |
|
193 TInt aSceneField, |
|
194 TInt aSettingId, |
|
195 TBool aVideoScene ); |
|
196 |
|
197 |
|
198 /** |
|
199 * Loads the static settings from shared data. Required to update |
|
200 * the settings whenever get foreground event, in case of external |
|
201 * changes to the settings. |
|
202 * @since 2.8 |
|
203 * @param aIsEmbedded Specifies whether the application is embedded |
|
204 * or not. |
|
205 */ |
|
206 virtual void LoadStaticSettingsL( TBool aIsEmbedded ); |
|
207 |
|
208 /** |
|
209 * Return handle to video quality level array |
|
210 * @since 2.8 |
|
211 * @return reference to array of video quality levels |
|
212 */ |
|
213 virtual const RPointerArray<CCamVideoQualityLevel>& VideoQualityArray(); |
|
214 |
|
215 /** |
|
216 * Return handle to video resolution array |
|
217 * @since 2.8 |
|
218 * @param return reference to array of video resolutions |
|
219 */ |
|
220 virtual const RArray<TSize>& VideoResolutions(); |
|
221 |
|
222 /** |
|
223 * Returns the image resolution for a given resolution index. |
|
224 * @since 2.8 |
|
225 * @param aIndex The index to get the resolution for |
|
226 * @returns The X and Y dimensions in pixels of the resolution. |
|
227 */ |
|
228 virtual TSize ImageResolutionFromIndex( TCamPhotoSizeId aIndex ); |
|
229 |
|
230 /** |
|
231 * Returns the current photo quality. |
|
232 * @return the quality. |
|
233 * @since 2.8 |
|
234 */ |
|
235 virtual TInt CurrentPhotoCompression() const; |
|
236 |
|
237 /** |
|
238 * Returns the current photo resolution from Settings |
|
239 * @return the resolution. |
|
240 * @since 2.8 |
|
241 */ |
|
242 virtual TCamPhotoSizeId CurrentPhotoResolution() const; |
|
243 |
|
244 /** |
|
245 * Returns the photo resolution for a particular quality |
|
246 * @return the resolution. |
|
247 * @param aQualityIndex The index of the quality |
|
248 * @since 3.0 |
|
249 */ |
|
250 virtual TCamPhotoSizeId PhotoResolution( TInt aQualityIndex ) const; |
|
251 |
|
252 /** |
|
253 * Stores the primary camera settings when changing to secondary camera |
|
254 * that they can be reapplied when changing back |
|
255 * @since 2.8 |
|
256 */ |
|
257 virtual void StorePrimaryCameraSettingsL(); |
|
258 |
|
259 /** |
|
260 * Restores the primary camera settings |
|
261 * @since 2.8 |
|
262 */ |
|
263 virtual void RestorePrimaryCameraSettingsL(); |
|
264 |
|
265 /** |
|
266 * Return variant info. |
|
267 */ |
|
268 virtual const TCamVariantInfo& VariantInfo(); |
|
269 |
|
270 /* |
|
271 * Reset repository file |
|
272 * @since3.0 |
|
273 */ |
|
274 virtual void ResetRepository(); |
|
275 |
|
276 // ------------------------------------------------------------------------- |
|
277 // From base class MCamSettingPreviewHandler |
|
278 public: |
|
279 |
|
280 /** |
|
281 * Activates preview for one setting. |
|
282 * Returns the preview value as setting value in ProvideCameraSettingL |
|
283 * until Commit or Cancel is called. |
|
284 * @param aSettingId The setting for which preview is set |
|
285 * @param aSettingValue The setting value used for preview |
|
286 * @leave Any system error code. |
|
287 */ |
|
288 virtual void ActivatePreviewL( const TCamSettingItemIds& aSettingId, |
|
289 TInt aSettingValue ); |
|
290 |
|
291 /** |
|
292 * Cancels the preview for one setting. |
|
293 * After this call ProvideCameraSettingL returns the actual setting value. |
|
294 * If the setting does not have active preview, such error is ignored. |
|
295 * @param aSettingId Id of the setting for which the preview is cancelled. |
|
296 */ |
|
297 virtual void CancelPreview( const TCamSettingItemIds& aSettingId ); |
|
298 |
|
299 |
|
300 /** |
|
301 * Cancels the preview for a set of settings. |
|
302 * If some of the settings do not have active preview, such error is ignored. |
|
303 */ |
|
304 virtual void CancelPreviews( const RArray<TCamSettingItemIds> aSettingIds ); |
|
305 |
|
306 /** |
|
307 * Cancels all previews. |
|
308 * No error reported, if no previews active. |
|
309 */ |
|
310 virtual void CancelAllPreviews(); |
|
311 |
|
312 /** |
|
313 * Commits the preview value for the given set of settings. |
|
314 * After this call completes, the preview is no more active for the setting. |
|
315 * If the call completes successfully, the preview is stored as the |
|
316 * actual setting value. If leave occurs, the preview is not stored. |
|
317 * @param aSettingId Id of the setting for which the preview is committed. |
|
318 * @leave KErrArgument There was no preview value for the given setting. |
|
319 * @leave Any system error code. |
|
320 */ |
|
321 virtual void CommitPreviewL( const TCamSettingItemIds& aSettingId ); |
|
322 |
|
323 /** |
|
324 * Commits the preview for a set of settings. |
|
325 * If some of the settings do not have active preview, such error is ignored. |
|
326 */ |
|
327 virtual void CommitPreviewsL( const RArray<TCamSettingItemIds>& aSettingIds ); |
|
328 |
|
329 /** |
|
330 * Commit previews for all settings with active preview. |
|
331 * @leave Any system error code. |
|
332 */ |
|
333 virtual void CommitAllPreviewsL(); |
|
334 |
|
335 /** |
|
336 * Get the set of settings with active preview. |
|
337 * Preview is active if it has been set with ActivatePreviewL |
|
338 * but not cancelled or committed after that. |
|
339 * @param aSettingIds Return the ids of the active settings in this array. |
|
340 */ |
|
341 virtual void ActivePreviewsL( RArray<TCamSettingItemIds>& aSettingIds ) const; |
|
342 |
|
343 |
|
344 // ------------------------------------------------------------------------- |
|
345 // New methods |
|
346 public: |
|
347 |
|
348 /* |
|
349 * Gets the handle to the settings model, which is used inturn by the |
|
350 * plugin to call the interfaces for performing needed actions. |
|
351 */ |
|
352 MCamStaticSettings& StaticSettingsModel() const; |
|
353 |
|
354 /** |
|
355 * Loads the static settings from shared data, or if unable to from the resource file. |
|
356 * @since 2.8 |
|
357 */ |
|
358 void LoadSettingsL(); |
|
359 |
|
360 /** |
|
361 * Saves the static settings to shared data. |
|
362 * @since 2.8 |
|
363 */ |
|
364 void SaveSettingsL() ; |
|
365 |
|
366 /* |
|
367 * Is Scene supported |
|
368 */ |
|
369 TBool IsImageSceneSupported( const TInt aSceneId ) const; |
|
370 |
|
371 /* |
|
372 * Is Scene supported |
|
373 */ |
|
374 TBool IsVideoSceneSupported( const TInt aSceneId ) const; |
|
375 |
|
376 /* |
|
377 * Returns UiConfigManager Ptr from StaticSettingsModel |
|
378 */ |
|
379 CCameraUiConfigManager* UiConfigManagerPtr(); |
|
380 private: |
|
381 |
|
382 /** |
|
383 * Saves one static setting to Central Repository. |
|
384 * @param aSettingId Id of the setting to be saved. |
|
385 * @since Camera 4.0 |
|
386 */ |
|
387 void SaveStaticSettingL( TCamSettingItemIds aSettingId ); |
|
388 |
|
389 /** |
|
390 * Get the associated settings list for given setting item. |
|
391 * @param aSettingId Id of the setting for which the list is requested. |
|
392 * @since Camera 4.0 |
|
393 */ |
|
394 RPointerArray<TIntSetting>* |
|
395 MapSettingItem2SettingsList( TCamSettingItemIds aSettingId ); |
|
396 |
|
397 // ------------------------------------------------------------------------- |
|
398 // Constructors |
|
399 private: |
|
400 |
|
401 /** |
|
402 * C++ constructor. |
|
403 * @since 2.8 |
|
404 */ |
|
405 CCamSettingsModel( CCamConfiguration& aConfiguration ); |
|
406 |
|
407 /** |
|
408 * C++ 2nd phase constructor. |
|
409 * @since 2.8 |
|
410 */ |
|
411 void ConstructL(); |
|
412 |
|
413 // ------------------------------------------------------------------------- |
|
414 // new functions |
|
415 private: |
|
416 |
|
417 // Notify setting model observers, that a setting item value has changed. |
|
418 void NotifyObservers( TCamSettingItemIds aSettingId, |
|
419 TInt aSettingValue ); |
|
420 |
|
421 void NotifyObservers( TCamSettingItemIds aSettingId, |
|
422 const TDesC& aSettingValue ); |
|
423 |
|
424 /** |
|
425 * Read variant flags from Central Repository. |
|
426 */ |
|
427 void ReadVariantFlagsL(); |
|
428 |
|
429 /** |
|
430 * Resets all user scene settings to their defaults without |
|
431 * activating them. |
|
432 * @since 2.8 |
|
433 */ |
|
434 void ResetUserSceneWithoutActivatingChangesL(); |
|
435 |
|
436 /** |
|
437 * Copies a user scene setting across to the capture setup settings. |
|
438 * @since 2.8 |
|
439 * @param aSettingItem the user scene setting to copy. |
|
440 */ |
|
441 void CopyUserSceneSettingToCaptureSettingL( TInt aSettingItem ); |
|
442 |
|
443 /** |
|
444 * Activates the current user scene settings. |
|
445 * @since 2.8 |
|
446 */ |
|
447 void ActivateUserSceneSettingsL(); |
|
448 |
|
449 /** |
|
450 * Returns whether a particular setting is an engine setting, or not. |
|
451 * @since 2.8 |
|
452 * @param aSettingItem The id of the setting item. |
|
453 * @return ETrue if an engine setting. Otherwise EFalse. |
|
454 */ |
|
455 TBool SettingIsForEngine( TInt aSettingItem ); |
|
456 |
|
457 /** |
|
458 * Searches in a settings list for a particular setting item.. |
|
459 * @param aSettingsList the setting list to search in. |
|
460 * @param aSettingItem the id of the setting item to look for. |
|
461 * @return the index of the setting item if found. Otherwise returns KErrNotFound . |
|
462 * @since 2.8 |
|
463 */ |
|
464 TInt SearchInSettingsListFor( |
|
465 const RPointerArray<TIntSetting>& aSettingsList, |
|
466 TInt aSettingItem ) const; |
|
467 |
|
468 |
|
469 /** |
|
470 * Finds a scene in a particular scene list. |
|
471 * @param aSceneItemId the id of the scene to search for. |
|
472 * @param aSceneList the scene list to search in. |
|
473 * @return the index to the scene in the list. |
|
474 * @since 2.8 |
|
475 */ |
|
476 TInt FindSceneInSceneList( |
|
477 TInt aSceneItemId, |
|
478 const RPointerArray<TSceneData>& aSceneList ) const; |
|
479 |
|
480 /** |
|
481 * Handles a change in the value for the user scene setting. |
|
482 * @param aSettingValue The new scene value. |
|
483 * @param aActivate Whether to activate the user scene changes |
|
484 * @since 2.8 |
|
485 */ |
|
486 void UserSceneHasChangedL( TInt aSettingValue, TBool aActivate ); |
|
487 |
|
488 /** |
|
489 * Handles a change in the value for the photo scene setting. |
|
490 * That is, it updates the rest of the photo dynamic setings. |
|
491 * @param the new scene value. |
|
492 * @since 2.8 |
|
493 */ |
|
494 void PhotoSceneHasChangedL( TInt aSettingValue ); |
|
495 /** |
|
496 * Handles a change in the value for the video scene setting. |
|
497 * That is, it updates the rest of the video dynamic setings. |
|
498 * @since 2.8 |
|
499 * @param aSettingValue The new scene value. |
|
500 */ |
|
501 void VideoSceneHasChangedL( TInt aSettingValue ); |
|
502 |
|
503 |
|
504 /** |
|
505 * Returns the maximum allowed quality for a photo scene. |
|
506 * @param the scene id. |
|
507 * @return the highest allowed quality. |
|
508 * @since 2.8 |
|
509 */ |
|
510 TInt PhotoSceneMaximumQuality( TInt aSceneId ) const; |
|
511 |
|
512 /** |
|
513 * Returns the current photo quality value. |
|
514 * @return the quality. |
|
515 * @since 2.8 |
|
516 */ |
|
517 TInt CurrentPhotoQualityValue() const; |
|
518 |
|
519 /** |
|
520 * Returns the photo quality array index. |
|
521 * @Param the photo quality id for the desired quality |
|
522 * @return the array index for the specified quality. |
|
523 * @since 2.8 |
|
524 */ |
|
525 TInt PhotoQualityArrayIndex(TInt aPhotoQualityId ) const; |
|
526 |
|
527 /** |
|
528 * Returns the default value of a setting for a particular scene item. |
|
529 * @param aSceneId the id of the scene item. |
|
530 * @param aSetting the id of the setting item. |
|
531 * @return the default value |
|
532 * @since 2.8 |
|
533 */ |
|
534 TInt DefaultSettingValueForScene( TInt aSceneId, TInt aSetting ) const; |
|
535 |
|
536 /** |
|
537 * Loads a list of dynamic settings from the resource file and |
|
538 * their default values. |
|
539 * @param aResourceId the id of the resource that contains the |
|
540 * settings items id's and their default values. |
|
541 * @param aSettingsList the list to populate with dynamic settings |
|
542 * from the resource file. |
|
543 * @param aDefaultsList the list to populate with default values |
|
544 * for the dynamic settings from the resource file. |
|
545 * @since 2.8 |
|
546 */ |
|
547 void LoadDynamicSettingsL( TInt aResourceId, |
|
548 RPointerArray<TIntSetting>& aSettingsList, |
|
549 RArray<TInt>& aDefaultsList ); |
|
550 |
|
551 /** |
|
552 * Loads a list of dynamic settings from the resource file |
|
553 * @param aResourceId the id of the resource that contains the |
|
554 * settings items id's and their default values. |
|
555 * @param aSettingsList the list to populate with dynamic settings |
|
556 * from the resource file. |
|
557 * @since 2.8 |
|
558 */ |
|
559 void LoadDynamicSettingsL( TInt aResourceId, |
|
560 RPointerArray<TIntSetting>& aSettingsList ); |
|
561 |
|
562 /** |
|
563 * Loads a list of scene settings from the resource file. |
|
564 * @param aResourceId the id of the resource in the resource file. |
|
565 * @param aSceneDataArray the array to populate with the resource. |
|
566 * @since 2.8 |
|
567 */ |
|
568 void LoadScenesDataL( TInt aResourceId, |
|
569 RPointerArray<TSceneData>& aSceneDataArray ); |
|
570 |
|
571 /** |
|
572 * Loads a list of scene settings from product specific header file. |
|
573 * @since 3.0 |
|
574 */ |
|
575 void LoadSceneDataL( TBool aPhotoSceneSettings = ETrue ); |
|
576 |
|
577 |
|
578 /** |
|
579 * Removes any previously loaded settings. |
|
580 * @since 2.8 |
|
581 */ |
|
582 void UnloadSettings(); |
|
583 |
|
584 /** |
|
585 * Removes any previously loaded static settings. |
|
586 * @since 2.8 |
|
587 */ |
|
588 void UnloadStaticSettings(); |
|
589 |
|
590 /** |
|
591 * Loads component resources |
|
592 */ |
|
593 void LoadResourcesL(); |
|
594 |
|
595 /** |
|
596 * Frees component resources |
|
597 */ |
|
598 void UnLoadResources(); |
|
599 |
|
600 /** |
|
601 * Backup and Restore Settings array |
|
602 * @param aSrc The source settings array |
|
603 * @param aDest The destination settings array |
|
604 * @param aRestore ETrue to restore |
|
605 * @since 5.1 |
|
606 */ |
|
607 void CopySettingsL(RPointerArray<TIntSetting>& aSrc, |
|
608 RPointerArray<TIntSetting>& aDest, |
|
609 TBool aRestore = EFalse); |
|
610 |
|
611 private: // Functions from base classes |
|
612 |
|
613 /** |
|
614 * From MCamBurstModeObserver |
|
615 * @since 2.8 |
|
616 * @param aActive whether or not burst mode is active |
|
617 * @param aStillModeActive whether or not still capture is active |
|
618 */ |
|
619 void BurstModeActiveL( TBool aActive, TBool aStillModeActive ); |
|
620 |
|
621 // ========================================================================= |
|
622 private: // data |
|
623 TCamSettingsOnOff iPreviousFaceTrack; // previous user defined FT setting |
|
624 TCamSceneId iPreviousSceneMode; // previous camera scene mode |
|
625 |
|
626 |
|
627 /** |
|
628 * Stores information for front/back camera settings |
|
629 * @since 2.8 |
|
630 */ |
|
631 class TCamCameraSettings |
|
632 { |
|
633 public: |
|
634 TInt iPhotoQuality; |
|
635 TInt iVideoQuality; |
|
636 }; |
|
637 |
|
638 // Reference to observer of this settings model. |
|
639 // MCamSettingsModelObserver& iObserver; |
|
640 RPointerArray<MCamSettingsModelObserver> iObservers; |
|
641 |
|
642 // Setting previews |
|
643 RPointerArray<TIntSetting> iSettingPreviews; |
|
644 |
|
645 // List of setting item id/value pairs for static photo settings. |
|
646 RPointerArray<TIntSetting> iDynamicPhotoIntSettings; |
|
647 |
|
648 //Backup of iDynamicPhotoIntSettings |
|
649 RPointerArray<TIntSetting> iDynamicPhotoIntSettingsBackup; |
|
650 |
|
651 |
|
652 // Parallel array to "iDynamicPhotoIntSettings" containing |
|
653 // default values. |
|
654 RArray<TInt> iDynamicPhotoIntDefaults; |
|
655 |
|
656 // List of setting item id/value pairs for dynamic photo settings. |
|
657 RPointerArray<TIntSetting> iDynamicVideoIntSettings; |
|
658 |
|
659 //Backup of iDynamicVideoIntSettings |
|
660 RPointerArray<TIntSetting> iDynamicVideoIntSettingsBackup; |
|
661 |
|
662 // Parallel array to "iDynamicVideoIntSettings" containing |
|
663 // default values. |
|
664 RArray<TInt> iDynamicVideoIntDefaults; |
|
665 |
|
666 // List of setting item id/value pairs for user scene settings. |
|
667 RPointerArray<TIntSetting> iUserSceneSettings; |
|
668 |
|
669 //Backup of iUserSceneSettings |
|
670 RPointerArray<TIntSetting> iUserSceneSettingsBackup; |
|
671 |
|
672 // Lists of scene data. |
|
673 RPointerArray<TSceneData> iPhotoScenes; |
|
674 RPointerArray<TSceneData> iVideoScenes; |
|
675 |
|
676 // Specifies whether the engine should be updated with settings such as |
|
677 // White Balance after being prepared. This is device dependent and so |
|
678 // will be read from the resource file. |
|
679 TBool iUpdateAfterPrepare; |
|
680 |
|
681 // Specifies whether this application is embedded or not. |
|
682 TBool iEmbedded; |
|
683 |
|
684 // Specifies whether burst mode is enabled or not |
|
685 TBool iBurstEnabled; |
|
686 |
|
687 // Reference to the CEikonEnv object, since it is used a lot. |
|
688 CEikonEnv* iEnv; |
|
689 |
|
690 // array of video quality level items read in from resource file |
|
691 RPointerArray < CCamVideoQualityLevel > iQualityLevels; |
|
692 |
|
693 // array of video resolutions read from resource |
|
694 RArray< TSize > iVideoResolutions; |
|
695 |
|
696 // array of photo quality levels read from resource |
|
697 RArray< TCamPhotoQualitySetting > iPhotoQualityLevels; |
|
698 |
|
699 // array of photo resolutions read from resource |
|
700 RArray< TSize > iPhotoResolutions; |
|
701 |
|
702 // Specifies whether the engine is ready for receiving |
|
703 // a video prepare event. |
|
704 TBool iEngineReadyForVideoPrepare; |
|
705 |
|
706 // Specifies whether the settings model is waiting to |
|
707 // prepare the engine with video. |
|
708 TBool iWaitingToPrepareVideo; |
|
709 |
|
710 // The cached primary camera settings |
|
711 TCamCameraSettings iPrimaryCameraSettings; |
|
712 // The cached secondary camera settings |
|
713 TCamCameraSettings iSecondaryCameraSettings; |
|
714 |
|
715 // Variant info |
|
716 TCamVariantInfo iVariantInfo; |
|
717 TInt iResourceFileOffset; |
|
718 |
|
719 // Number of image scene settings |
|
720 |
|
721 CCamConfiguration& iConfiguration; |
|
722 CCamStaticSettingsModel* iStaticModel; |
|
723 CCameraUiConfigManager* iUiConfigManager; // we dont own |
|
724 }; |
|
725 |
|
726 #endif // CAMSETTINGSMODEL_H |
|
727 |
|
728 // End of File |