@@ -3,9 +3,17 @@ local PANEL = class.create("ScrollPanel", "Panel")
3
3
function PANEL :ScrollPanel ()
4
4
self :super () -- Initialize our baseclass
5
5
self :DockPadding (0 ,0 ,0 ,0 )
6
+ self :SetBGColor (color (215 , 0 , 0 ))
6
7
7
8
self .m_pCanvas = self :Add (" Panel" )
8
9
self .m_pCanvas :SetBGColor (color (215 , 215 , 215 ))
10
+
11
+ self .m_pCanvas .PerformLayout = function (this )
12
+ this :SizeToChildren (false , true )
13
+ if self .m_bNoSizing and this :GetHeight () < self :GetHeight () then
14
+ this :SetPos (0 , (self :GetHeight ()- this :GetHeight ()) * 0.5 )
15
+ end
16
+ end
9
17
10
18
-- Create the scroll bar
11
19
self .m_pVBar = self :Add (" ScrollBar" )
@@ -41,10 +49,6 @@ function PANEL:InnerWidth()
41
49
end
42
50
43
51
function PANEL :Rebuild ()
44
- self :GetCanvas ():SizeToChildren (false , true )
45
- if self .m_bNoSizing and self :GetCanvas ():GetHeight () < self :GetHeight () then
46
- self :GetCanvas ():SetPos (0 , (self :GetHeight ()- self :GetCanvas ():GetHeight ()) * 0.5 )
47
- end
48
52
end
49
53
50
54
function PANEL :OnMouseWheeled (x , y )
@@ -83,8 +87,7 @@ function PANEL:PerformLayout()
83
87
84
88
self .m_pCanvas :SetPos (0 , ypos )
85
89
self .m_pCanvas :SetWidth (wide )
86
-
87
- self :Rebuild ()
90
+ self .m_pCanvas :InvalidateLayout ()
88
91
end
89
92
90
93
function PANEL :SetScroll (scroll )
0 commit comments