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 /* XPCOM interface for layout-debug extension to reach layout internals */
8 
9 #ifndef nsILayoutDebugger_h___
10 #define nsILayoutDebugger_h___
11 
12 #include "nsISupports.h"
13 
14 class nsIDocument;
15 class nsIPresShell;
16 
17 // 1295f7c0-96b3-41fc-93ed-c95dfb712ce7
18 #define NS_ILAYOUT_DEBUGGER_IID                      \
19   {                                                  \
20     0x1295f7c0, 0x96b3, 0x41fc, {                    \
21       0x93, 0xed, 0xc9, 0x5d, 0xfb, 0x71, 0x2c, 0xe7 \
22     }                                                \
23   }
24 
25 /**
26  * API for access and control of layout debugging
27  */
28 class nsILayoutDebugger : public nsISupports {
29  public:
30   NS_DECLARE_STATIC_IID_ACCESSOR(NS_ILAYOUT_DEBUGGER_IID)
31 
32   NS_IMETHOD SetShowFrameBorders(bool aEnable) = 0;
33 
34   NS_IMETHOD GetShowFrameBorders(bool* aResult) = 0;
35 
36   NS_IMETHOD SetShowEventTargetFrameBorder(bool aEnable) = 0;
37 
38   NS_IMETHOD GetShowEventTargetFrameBorder(bool* aResult) = 0;
39 };
40 
41 NS_DEFINE_STATIC_IID_ACCESSOR(nsILayoutDebugger, NS_ILAYOUT_DEBUGGER_IID)
42 
43 #endif /* nsILayoutDebugger_h___ */
44