00001 /* 00002 * ============================================================================ 00003 * Name : AknClearer.h 00004 * Part of : S60 UI Framework / EikCoCtl 00005 * Description : Screen Clearer API, support for screen blanking. 00006 * Version : 00007 * 00008 * Copyright © 2002-2006 Nokia. All rights reserved. 00009 * This material, including documentation and any related computer 00010 * programs, is protected by copyright controlled by Nokia. All 00011 * rights are reserved. Copying, including reproducing, storing, 00012 * adapting or translating, any or all of this material requires the 00013 * prior written consent of Nokia. This material also contains 00014 * confidential information which may not be disclosed to others 00015 * without the prior written consent of Nokia. 00016 * ============================================================================ 00017 */ 00018 00019 #ifndef AKNCLEARER_H 00020 #define AKNCLEARER_H 00021 00022 #include <AknControl.h> 00023 00024 #include <eikenv.h> 00025 00026 class CAknScreenClearerBaseExtension; 00027 00033 class CAknScreenClearerBase : public CAknControl 00034 { 00035 public: 00036 00040 IMPORT_C void HandleStatusPaneSizeChangeL(); 00041 00042 public: // from CCoeControl 00043 00047 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); 00048 00049 protected: 00050 00054 IMPORT_C virtual ~CAknScreenClearerBase(); 00055 00063 IMPORT_C void ConstructL(RWindowGroup& aParent, TInt aOrdinalPos, TBool aBlankAppStatusPane); 00064 00065 private: // from CCoeControl 00066 00070 IMPORT_C void Draw(const TRect& aRect) const; 00071 00072 private: // from CAknControl 00076 IMPORT_C void* ExtensionInterface( TUid aInterface ); 00077 00078 protected: 00079 00083 void SetShapeL(); 00084 00088 void SetSkinShapeL(); 00089 00090 private: 00091 CAknScreenClearerBaseExtension* iExtension; 00092 TBitFlags iFlags; 00093 }; 00094 00095 00096 // CLASS DECLARATION 00097 00103 class CAknLocalScreenClearer : public CAknScreenClearerBase 00104 { 00105 public: 00106 00110 IMPORT_C static CAknLocalScreenClearer* NewLC(); 00111 00117 IMPORT_C static CAknLocalScreenClearer* NewLC(TBool aBlankAppStatusPane); 00118 00124 IMPORT_C static CAknLocalScreenClearer* NewL(TBool aBlankAppStatusPane); 00125 00129 IMPORT_C void HandleResourceChange(TInt aType); 00130 00131 }; 00132 00133 // AKNCLEARER_H 00134 #endif