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 : #ifndef nsTitleBarFrame_h___
6 : #define nsTitleBarFrame_h___
7 :
8 : #include "mozilla/Attributes.h"
9 : #include "mozilla/EventForwards.h"
10 : #include "nsBoxFrame.h"
11 :
12 0 : class nsTitleBarFrame : public nsBoxFrame
13 : {
14 : public:
15 0 : NS_DECL_FRAMEARENA_HELPERS(nsTitleBarFrame)
16 :
17 : friend nsIFrame* NS_NewTitleBarFrame(nsIPresShell* aPresShell, nsStyleContext* aContext);
18 :
19 : explicit nsTitleBarFrame(nsStyleContext* aContext, ClassID = kClassID);
20 :
21 : virtual void BuildDisplayListForChildren(nsDisplayListBuilder* aBuilder,
22 : const nsRect& aDirtyRect,
23 : const nsDisplayListSet& aLists) override;
24 :
25 : virtual nsresult HandleEvent(nsPresContext* aPresContext,
26 : mozilla::WidgetGUIEvent* aEvent,
27 : nsEventStatus* aEventStatus) override;
28 :
29 : virtual void MouseClicked(mozilla::WidgetMouseEvent* aEvent);
30 :
31 0 : void UpdateMouseThrough() override { AddStateBits(NS_FRAME_MOUSE_THROUGH_NEVER); }
32 :
33 : protected:
34 : bool mTrackingMouseMove;
35 : mozilla::LayoutDeviceIntPoint mLastPoint;
36 :
37 : }; // class nsTitleBarFrame
38 :
39 : #endif /* nsTitleBarFrame_h___ */
|