1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */ 3 /* This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 /* 8 * a piece of state that is stored in session history when the document 9 * is not 10 */ 11 12 #ifndef nsPresState_h_ 13 #define nsPresState_h_ 14 15 #include "nsPoint.h" 16 #include "gfxPoint.h" 17 #include "nsAutoPtr.h" 18 19 class nsPresState { 20 public: nsPresState()21 nsPresState() 22 : mContentData(nullptr), 23 mScrollState(0, 0), 24 mAllowScrollOriginDowngrade(true), 25 mResolution(1.0), 26 mScaleToResolution(false), 27 mDisabledSet(false), 28 mDisabled(false), 29 mDroppedDown(false) {} 30 SetScrollState(const nsPoint & aState)31 void SetScrollState(const nsPoint& aState) { mScrollState = aState; } 32 GetScrollPosition()33 nsPoint GetScrollPosition() const { return mScrollState; } 34 SetAllowScrollOriginDowngrade(bool aAllowScrollOriginDowngrade)35 void SetAllowScrollOriginDowngrade(bool aAllowScrollOriginDowngrade) { 36 mAllowScrollOriginDowngrade = aAllowScrollOriginDowngrade; 37 } 38 GetAllowScrollOriginDowngrade()39 bool GetAllowScrollOriginDowngrade() { return mAllowScrollOriginDowngrade; } 40 SetResolution(float aSize)41 void SetResolution(float aSize) { mResolution = aSize; } 42 GetResolution()43 float GetResolution() const { return mResolution; } 44 SetScaleToResolution(bool aScaleToResolution)45 void SetScaleToResolution(bool aScaleToResolution) { 46 mScaleToResolution = aScaleToResolution; 47 } 48 GetScaleToResolution()49 bool GetScaleToResolution() const { return mScaleToResolution; } 50 ClearNonScrollState()51 void ClearNonScrollState() { 52 mContentData = nullptr; 53 mDisabledSet = false; 54 } 55 GetDisabled()56 bool GetDisabled() const { return mDisabled; } 57 SetDisabled(bool aDisabled)58 void SetDisabled(bool aDisabled) { 59 mDisabled = aDisabled; 60 mDisabledSet = true; 61 } 62 IsDisabledSet()63 bool IsDisabledSet() const { return mDisabledSet; } 64 GetStateProperty()65 nsISupports* GetStateProperty() const { return mContentData; } 66 SetStateProperty(nsISupports * aProperty)67 void SetStateProperty(nsISupports* aProperty) { mContentData = aProperty; } 68 SetDroppedDown(bool aDroppedDown)69 void SetDroppedDown(bool aDroppedDown) { mDroppedDown = aDroppedDown; } 70 GetDroppedDown()71 bool GetDroppedDown() const { return mDroppedDown; } 72 73 // MEMBER VARIABLES 74 protected: 75 nsCOMPtr<nsISupports> mContentData; 76 nsPoint mScrollState; 77 bool mAllowScrollOriginDowngrade; 78 float mResolution; 79 bool mScaleToResolution; 80 bool mDisabledSet; 81 bool mDisabled; 82 bool mDroppedDown; 83 }; 84 85 #endif /* nsPresState_h_ */ 86