michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: /* XPCOM interface for layout-debug extension to reach layout internals */ michael@0: michael@0: #ifndef nsILayoutDebugger_h___ michael@0: #define nsILayoutDebugger_h___ michael@0: michael@0: #include "nsISupports.h" michael@0: michael@0: class nsIDocument; michael@0: class nsIPresShell; michael@0: michael@0: /* a6cf90f8-15b3-11d2-932e-00805f8add32 */ michael@0: #define NS_ILAYOUT_DEBUGGER_IID \ michael@0: { 0xa6cf90f8, 0x15b3, 0x11d2,{0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32}} michael@0: michael@0: /** michael@0: * API for access and control of layout debugging michael@0: */ michael@0: class nsILayoutDebugger : public nsISupports { michael@0: public: michael@0: NS_DECLARE_STATIC_IID_ACCESSOR(NS_ILAYOUT_DEBUGGER_IID) michael@0: michael@0: NS_IMETHOD SetShowFrameBorders(bool aEnable) = 0; michael@0: michael@0: NS_IMETHOD GetShowFrameBorders(bool* aResult) = 0; michael@0: michael@0: NS_IMETHOD SetShowEventTargetFrameBorder(bool aEnable) = 0; michael@0: michael@0: NS_IMETHOD GetShowEventTargetFrameBorder(bool* aResult) = 0; michael@0: michael@0: NS_IMETHOD GetContentSize(nsIDocument* aDocument, michael@0: int32_t* aSizeInBytesResult) = 0; michael@0: michael@0: NS_IMETHOD GetFrameSize(nsIPresShell* aPresentation, michael@0: int32_t* aSizeInBytesResult) = 0; michael@0: michael@0: NS_IMETHOD GetStyleSize(nsIPresShell* aPresentation, michael@0: int32_t* aSizeInBytesResult) = 0; michael@0: }; michael@0: michael@0: NS_DEFINE_STATIC_IID_ACCESSOR(nsILayoutDebugger, NS_ILAYOUT_DEBUGGER_IID) michael@0: michael@0: #endif /* nsILayoutDebugger_h___ */