bin/pc: Mark non-returning function as void
[haiku.git] / src / servers / app / stackandtile / Tiling.h
blobc442458f1b1af4cc977c0eeecb7791899312aed0
1 /*
2 * Copyright 2010, Haiku.
3 * Distributed under the terms of the MIT License.
5 * Authors:
6 * Clemens Zeidler <haiku@clemens-zeidler.de>
7 */
8 #ifndef TILING_H
9 #define TILING_H
11 #include "ObjectList.h"
13 #include "Decorator.h"
14 #include "StackAndTile.h"
15 #include "SATGroup.h"
18 class SATWindow;
21 class SATTiling : public SATSnappingBehaviour {
22 public:
23 SATTiling(SATWindow* window);
24 ~SATTiling();
26 bool FindSnappingCandidates(SATGroup* group);
27 bool JoinCandidates();
29 void WindowLookChanged(window_look look);
30 private:
31 bool _IsTileableWindow(Window* window);
33 bool _FindFreeAreaInGroup(SATGroup* group);
34 bool _FindFreeAreaInGroup(SATGroup* group,
35 Corner::position_t corner);
37 bool _InteresstingCrossing(Crossing* crossing,
38 Corner::position_t corner, BRect& windowFrame);
39 bool _FindFreeArea(SATGroup* group,
40 const Crossing* crossing,
41 Corner::position_t areaCorner,
42 BRect& windowFrame);
43 bool _HasOverlapp(SATGroup* group);
44 bool _CheckArea(SATGroup* group,
45 Corner::position_t corner, BRect& windowFrame,
46 float& error);
47 bool _CheckMinFreeAreaSize();
48 float _FreeAreaError(BRect& windowFrame);
49 bool _IsCornerInFreeArea(Corner::position_t corner,
50 BRect& windowFrame);
52 BRect _FreeAreaSize();
54 void _HighlightWindows(SATGroup* group,
55 bool highlight = true);
56 bool _SearchHighlightWindow(Tab* tab, Tab* firstOrthTab,
57 Tab* secondOrthTab, const TabList* orthTabs,
58 Corner::position_t areaCorner,
59 Decorator::Region region, bool highlight);
60 void _HighlightWindows(WindowArea* area,
61 Decorator::Region region, bool highlight);
63 void _ResetSearchResults();
65 SATWindow* fSATWindow;
67 SATGroup* fFreeAreaGroup;
68 Tab* fFreeAreaLeft;
69 Tab* fFreeAreaRight;
70 Tab* fFreeAreaTop;
71 Tab* fFreeAreaBottom;
74 #endif