Line data Source code
1 : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 : /* This Source Code Form is subject to the terms of the Mozilla Public
3 : * License, v. 2.0. If a copy of the MPL was not distributed with this
4 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 :
6 : #ifndef HTMLEditorObjectResizerUtils_h
7 : #define HTMLEditorObjectResizerUtils_h
8 :
9 : #include "mozilla/HTMLEditor.h"
10 : #include "nsIDOMEventListener.h"
11 : #include "nsISelectionListener.h"
12 : #include "nsISupportsImpl.h"
13 : #include "nsIWeakReferenceUtils.h"
14 : #include "nsLiteralString.h"
15 :
16 : class nsIHTMLEditor;
17 :
18 : namespace mozilla {
19 :
20 : #define kTopLeft NS_LITERAL_STRING("nw")
21 : #define kTop NS_LITERAL_STRING("n")
22 : #define kTopRight NS_LITERAL_STRING("ne")
23 : #define kLeft NS_LITERAL_STRING("w")
24 : #define kRight NS_LITERAL_STRING("e")
25 : #define kBottomLeft NS_LITERAL_STRING("sw")
26 : #define kBottom NS_LITERAL_STRING("s")
27 : #define kBottomRight NS_LITERAL_STRING("se")
28 :
29 : /******************************************************************************
30 : * mozilla::ResizerSelectionListener
31 : ******************************************************************************/
32 :
33 : class ResizerSelectionListener final : public nsISelectionListener
34 : {
35 : public:
36 : explicit ResizerSelectionListener(HTMLEditor& aHTMLEditor);
37 : void Reset();
38 :
39 : NS_DECL_ISUPPORTS
40 : NS_DECL_NSISELECTIONLISTENER
41 :
42 : protected:
43 0 : virtual ~ResizerSelectionListener() {}
44 : CachedWeakPtr<HTMLEditor, nsIHTMLEditor> mHTMLEditorWeak;
45 : };
46 :
47 : /******************************************************************************
48 : * mozilla::ResizerMouseMotionListener
49 : ******************************************************************************/
50 :
51 : class ResizerMouseMotionListener final : public nsIDOMEventListener
52 : {
53 : public:
54 : explicit ResizerMouseMotionListener(HTMLEditor& aHTMLEditor);
55 :
56 : NS_DECL_ISUPPORTS
57 : NS_DECL_NSIDOMEVENTLISTENER
58 :
59 : protected:
60 0 : virtual ~ResizerMouseMotionListener() {}
61 : CachedWeakPtr<HTMLEditor, nsIHTMLEditor> mHTMLEditorWeak;
62 : };
63 :
64 : /******************************************************************************
65 : * mozilla::DocumentResizeEventListener
66 : ******************************************************************************/
67 :
68 : class DocumentResizeEventListener final : public nsIDOMEventListener
69 : {
70 : public:
71 : explicit DocumentResizeEventListener(HTMLEditor& aHTMLEditor);
72 :
73 : NS_DECL_ISUPPORTS
74 : NS_DECL_NSIDOMEVENTLISTENER
75 :
76 : protected:
77 0 : virtual ~DocumentResizeEventListener() {}
78 : CachedWeakPtr<HTMLEditor, nsIHTMLEditor> mHTMLEditorWeak;
79 : };
80 :
81 : } // namespace mozilla
82 :
83 : #endif // #ifndef HTMLEditorObjectResizerUtils_h
|