@tlua/gmod 1.0.4 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/package.json +1 -1
  2. package/types/achievements.d.tlua +15 -45
  3. package/types/ai.d.tlua +5 -15
  4. package/types/angle.d.tlua +18 -54
  5. package/types/baseclass.d.tlua +2 -4
  6. package/types/bf_read.d.tlua +11 -32
  7. package/types/bit.d.tlua +11 -33
  8. package/types/cam.d.tlua +16 -48
  9. package/types/ceffectdata.d.tlua +32 -95
  10. package/types/chat.d.tlua +5 -15
  11. package/types/cleanup.d.tlua +7 -21
  12. package/types/cluaemitter.d.tlua +12 -35
  13. package/types/clualocomotion.d.tlua +40 -119
  14. package/types/cluaparticle.d.tlua +44 -131
  15. package/types/cmovedata.d.tlua +47 -140
  16. package/types/cnavarea.d.tlua +77 -230
  17. package/types/cnavladder.d.tlua +22 -65
  18. package/types/cnewparticleeffect.d.tlua +26 -77
  19. package/types/color.d.tlua +28 -84
  20. package/types/concommand.d.tlua +4 -12
  21. package/types/constraint.d.tlua +28 -84
  22. package/types/construct.d.tlua +1 -3
  23. package/types/contentheader.d.tlua +3 -6
  24. package/types/contenticon.d.tlua +9 -24
  25. package/types/contentsidebar.d.tlua +4 -9
  26. package/types/contextbase.d.tlua +4 -9
  27. package/types/controlpanel.d.tlua +18 -40
  28. package/types/controlpresets.d.tlua +13 -36
  29. package/types/convar.d.tlua +16 -47
  30. package/types/cookie.d.tlua +3 -9
  31. package/types/coroutine.d.tlua +7 -21
  32. package/types/crecipientfilter.d.tlua +16 -47
  33. package/types/csoundpatch.d.tlua +14 -41
  34. package/types/ctakedamageinfo.d.tlua +33 -98
  35. package/types/ctrlnumpad.d.tlua +6 -17
  36. package/types/cusercmd.d.tlua +27 -80
  37. package/types/cvars.d.tlua +6 -18
  38. package/types/dadjustablemodelpanel.d.tlua +7 -18
  39. package/types/dalphabar.d.tlua +3 -6
  40. package/types/dbinder.d.tlua +4 -9
  41. package/types/dbubblecontainer.d.tlua +2 -3
  42. package/types/dbutton.d.tlua +8 -21
  43. package/types/dcheckbox.d.tlua +5 -12
  44. package/types/dcheckboxlabel.d.tlua +9 -27
  45. package/types/dcollapsiblecategory.d.tlua +23 -66
  46. package/types/dcolorbutton.d.tlua +7 -18
  47. package/types/dcolorcombo.d.tlua +5 -12
  48. package/types/dcolorcube.d.tlua +13 -36
  49. package/types/dcolormixer.d.tlua +27 -78
  50. package/types/dcolorpalette.d.tlua +23 -66
  51. package/types/dcolumnsheet.d.tlua +5 -12
  52. package/types/dcombobox.d.tlua +17 -48
  53. package/types/ddragbase.d.tlua +13 -36
  54. package/types/ddrawer.d.tlua +8 -21
  55. package/types/debug.d.tlua +44 -76
  56. package/types/debugoverlay.d.tlua +11 -33
  57. package/types/dentityproperties.d.tlua +5 -12
  58. package/types/derma.d.tlua +10 -30
  59. package/types/dexpandbutton.d.tlua +3 -6
  60. package/types/dfilebrowser.d.tlua +20 -60
  61. package/types/dform.d.tlua +18 -51
  62. package/types/dframe.d.tlua +24 -72
  63. package/types/dgrid.d.tlua +11 -30
  64. package/types/dhorizontaldivider.d.tlua +20 -57
  65. package/types/dhorizontalscroller.d.tlua +11 -30
  66. package/types/dhscrollbar.d.tlua +11 -30
  67. package/types/dhtml.d.tlua +8 -21
  68. package/types/dhtmlcontrols.d.tlua +5 -15
  69. package/types/diconbrowser.d.tlua +11 -30
  70. package/types/diconlayout.d.tlua +18 -51
  71. package/types/dimage.d.tlua +20 -55
  72. package/types/dimagebutton.d.tlua +9 -27
  73. package/types/dlabel.d.tlua +33 -96
  74. package/types/dlabeleditable.d.tlua +5 -12
  75. package/types/dlabelurl.d.tlua +10 -27
  76. package/types/dlistbox.d.tlua +8 -21
  77. package/types/dlistboxitem.d.tlua +4 -9
  78. package/types/dlistview.d.tlua +34 -99
  79. package/types/dlistview_column.d.tlua +14 -39
  80. package/types/dlistview_line.d.tlua +13 -36
  81. package/types/dmenu.d.tlua +28 -75
  82. package/types/dmenubar.d.tlua +6 -11
  83. package/types/dmenuoption.d.tlua +13 -36
  84. package/types/dmenuoptioncvar.d.tlua +6 -15
  85. package/types/dmodelpanel.d.tlua +22 -63
  86. package/types/dmodelselect.d.tlua +2 -3
  87. package/types/dmodelselectmulti.d.tlua +2 -3
  88. package/types/dnotify.d.tlua +10 -27
  89. package/types/dnumberscratch.d.tlua +26 -75
  90. package/types/dnumberwang.d.tlua +16 -45
  91. package/types/dnumslider.d.tlua +17 -51
  92. package/types/dpanel.d.tlua +14 -39
  93. package/types/dpanellist.d.tlua +11 -33
  94. package/types/dpaneloverlay.d.tlua +7 -18
  95. package/types/dpanpanel.d.tlua +6 -15
  96. package/types/dprogress.d.tlua +3 -6
  97. package/types/dproperties.d.tlua +4 -9
  98. package/types/dproperty_combo.d.tlua +3 -6
  99. package/types/dproperty_generic.d.tlua +5 -12
  100. package/types/dpropertysheet.d.tlua +26 -56
  101. package/types/dragndrop.d.tlua +10 -30
  102. package/types/draw.d.tlua +11 -31
  103. package/types/drgbpicker.d.tlua +4 -9
  104. package/types/drive.d.tlua +18 -41
  105. package/types/dscrollpanel.d.tlua +10 -30
  106. package/types/dshape.d.tlua +7 -18
  107. package/types/dsizetocontents.d.tlua +5 -12
  108. package/types/dslider.d.tlua +28 -81
  109. package/types/dsprite.d.tlua +9 -24
  110. package/types/dtab.d.tlua +8 -21
  111. package/types/dtextentry.d.tlua +43 -126
  112. package/types/dtilelayout.d.tlua +21 -60
  113. package/types/dtooltip.d.tlua +6 -15
  114. package/types/dtree.d.tlua +16 -45
  115. package/types/dtree_node.d.tlua +68 -201
  116. package/types/duplicator.d.tlua +30 -88
  117. package/types/dverticaldivider.d.tlua +23 -66
  118. package/types/dvscrollbar.d.tlua +11 -30
  119. package/types/effect.d.tlua +4 -9
  120. package/types/effects.d.tlua +6 -18
  121. package/types/engine.d.tlua +21 -63
  122. package/types/entity.d.tlua +676 -1962
  123. package/types/ents.d.tlua +23 -61
  124. package/types/file.d.tlua +39 -117
  125. package/types/frame_blend.d.tlua +7 -21
  126. package/types/game.d.tlua +39 -117
  127. package/types/gameevent.d.tlua +4 -8
  128. package/types/gamemode.d.tlua +3 -7
  129. package/types/gm.d.tlua +267 -800
  130. package/types/gmsave.d.tlua +4 -12
  131. package/types/gui.d.tlua +21 -63
  132. package/types/gwen.d.tlua +3 -9
  133. package/types/halo.d.tlua +2 -6
  134. package/types/hook.d.tlua +4 -12
  135. package/types/http.d.tlua +1 -3
  136. package/types/iconeditor.d.tlua +11 -30
  137. package/types/igmodaudiochannel.d.tlua +41 -122
  138. package/types/imagecheckbox.d.tlua +4 -9
  139. package/types/imaterial.d.tlua +26 -77
  140. package/types/imesh.d.tlua +5 -14
  141. package/types/input.d.tlua +24 -68
  142. package/types/irestore.d.tlua +9 -26
  143. package/types/isave.d.tlua +9 -26
  144. package/types/itexture.d.tlua +10 -29
  145. package/types/ivideowriter.d.tlua +5 -14
  146. package/types/jit.d.tlua +21 -53
  147. package/types/killicon.d.tlua +7 -21
  148. package/types/language.d.tlua +1 -3
  149. package/types/list.d.tlua +8 -24
  150. package/types/markup.d.tlua +2 -6
  151. package/types/markupobject.d.tlua +5 -14
  152. package/types/math.d.tlua +277 -447
  153. package/types/matproxy.d.tlua +3 -9
  154. package/types/matselect.d.tlua +11 -30
  155. package/types/menubar.d.tlua +2 -6
  156. package/types/mesh.d.tlua +19 -57
  157. package/types/motionsensor.d.tlua +10 -30
  158. package/types/navmesh.d.tlua +26 -78
  159. package/types/net.d.tlua +52 -154
  160. package/types/nextbot.d.tlua +46 -116
  161. package/types/notification.d.tlua +2 -6
  162. package/types/npc.d.tlua +182 -543
  163. package/types/numpad.d.tlua +7 -21
  164. package/types/os.d.tlua +4 -10
  165. package/types/panel.d.tlua +333 -991
  166. package/types/pathfollower.d.tlua +31 -92
  167. package/types/permissions.d.tlua +6 -18
  168. package/types/physcollide.d.tlua +3 -8
  169. package/types/physenv.d.tlua +11 -33
  170. package/types/physobj.d.tlua +78 -233
  171. package/types/player.d.tlua +302 -880
  172. package/types/player_manager.d.tlua +13 -39
  173. package/types/presets.d.tlua +6 -18
  174. package/types/projectedtexture.d.tlua +48 -143
  175. package/types/properties.d.tlua +5 -15
  176. package/types/propselect.d.tlua +5 -12
  177. package/types/render.d.tlua +142 -426
  178. package/types/resource.d.tlua +2 -6
  179. package/types/sandbox.d.tlua +54 -159
  180. package/types/saverestore.d.tlua +12 -36
  181. package/types/schedule.d.tlua +6 -17
  182. package/types/scripted_ents.d.tlua +11 -29
  183. package/types/search.d.tlua +1 -3
  184. package/types/serverlist.d.tlua +7 -21
  185. package/types/sound.d.tlua +10 -30
  186. package/types/spawnicon.d.tlua +8 -21
  187. package/types/spawnmenu.d.tlua +24 -70
  188. package/types/spawnmenucontentpanel.d.tlua +5 -12
  189. package/types/sql.d.tlua +9 -27
  190. package/types/stack.d.tlua +5 -14
  191. package/types/steamworks.d.tlua +18 -54
  192. package/types/string.d.tlua +49 -141
  193. package/types/surface.d.tlua +34 -102
  194. package/types/surfaceinfo.d.tlua +5 -14
  195. package/types/system.d.tlua +10 -30
  196. package/types/table.d.tlua +47 -137
  197. package/types/task.d.tlua +9 -26
  198. package/types/team.d.tlua +19 -57
  199. package/types/timer.d.tlua +14 -42
  200. package/types/tool.d.tlua +46 -131
  201. package/types/ugcpublishwindow.d.tlua +9 -24
  202. package/types/umsg.d.tlua +12 -36
  203. package/types/undo.d.tlua +10 -30
  204. package/types/usermessage.d.tlua +2 -6
  205. package/types/utf8.d.tlua +7 -21
  206. package/types/util.d.tlua +94 -274
  207. package/types/vector.d.tlua +36 -108
  208. package/types/vehicle.d.tlua +52 -149
  209. package/types/vgui.d.tlua +18 -46
  210. package/types/vmatrix.d.tlua +35 -105
  211. package/types/weapon.d.tlua +85 -248
  212. package/types/weapons.d.tlua +6 -16
  213. package/types/widgets.d.tlua +1 -3
  214. package/types/workshopfilebase.d.tlua +5 -14
@@ -17,12 +17,6 @@ interface Panel {
17
17
  * @realm menu
18
18
  */
19
19
  SetValue(self: Panel, value: any): void;
20
- }
21
-
22
- // The PANEL hook table is a Panel.
23
- interface PANEL extends Panel {}
24
-
25
- interface Panel {
26
20
  /**
27
21
  * Called every frame unless the panel is not visible ([Panel:IsVisible](https://wiki.facepunch.com/gmod/Panel:IsVisible)). Similar to [PANEL:Think](https://wiki.facepunch.com/gmod/PANEL:Think), but can be disabled by [Panel:SetAnimationEnabled](https://wiki.facepunch.com/gmod/Panel:SetAnimationEnabled) as explained below.
28
22
  *
@@ -34,9 +28,6 @@ interface Panel {
34
28
  * @source https://wiki.facepunch.com/gmod/PANEL:AnimationThink
35
29
  */
36
30
  AnimationThink(self: Panel): void;
37
- }
38
-
39
- interface Panel {
40
31
  /**
41
32
  * Called whenever the panel should apply its scheme (colors, fonts, style).
42
33
  *
@@ -48,9 +39,6 @@ interface Panel {
48
39
  * @source https://wiki.facepunch.com/gmod/PANEL:ApplySchemeSettings
49
40
  */
50
41
  ApplySchemeSettings(self: Panel): void;
51
- }
52
-
53
- interface Panel {
54
42
  /**
55
43
  * Called when an object is dragged and hovered over this panel for 0.1 seconds.
56
44
  *
@@ -60,9 +48,6 @@ interface Panel {
60
48
  * @source https://wiki.facepunch.com/gmod/PANEL:DragHoverClick
61
49
  */
62
50
  DragHoverClick(self: Panel, hoverTime: number): void;
63
- }
64
-
65
- interface Panel {
66
51
  /**
67
52
  * Called when this panel is dropped onto another panel.
68
53
  *
@@ -72,36 +57,24 @@ interface Panel {
72
57
  * @source https://wiki.facepunch.com/gmod/PANEL:DroppedOn
73
58
  */
74
59
  DroppedOn(self: Panel, pnl: Panel): void;
75
- }
76
-
77
- interface Panel {
78
60
  /**
79
61
  * Called when the panel should generate example use case / example code to use for this panel. Used in the panel opened by **derma_controls** console command.
80
62
  * @realm client
81
63
  * @source https://wiki.facepunch.com/gmod/PANEL:GenerateExample
82
64
  */
83
65
  GenerateExample(self: Panel, _class: string, dpropertysheet: Panel, width: number, height: number): void;
84
- }
85
-
86
- interface Panel {
87
66
  /**
88
67
  * Called when the panel is created. This is called for each base type that the panel has.
89
68
  * @realm client
90
69
  * @source https://wiki.facepunch.com/gmod/PANEL:Init
91
70
  */
92
71
  Init(self: Panel): void;
93
- }
94
-
95
- interface Panel {
96
72
  /**
97
73
  * Called after [Panel:SetCookieName](https://wiki.facepunch.com/gmod/Panel:SetCookieName) is called on this panel to apply the just loaded cookie values for this panel.
98
74
  * @realm client
99
75
  * @source https://wiki.facepunch.com/gmod/PANEL:LoadCookies
100
76
  */
101
77
  LoadCookies(self: Panel): void;
102
- }
103
-
104
- interface Panel {
105
78
  /**
106
79
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
107
80
  * Called when we are activated during level load. Used by the loading screen panel.
@@ -109,9 +82,6 @@ interface Panel {
109
82
  * @source https://wiki.facepunch.com/gmod/PANEL:OnActivate
110
83
  */
111
84
  OnActivate(self: Panel): void;
112
- }
113
-
114
- interface Panel {
115
85
  /**
116
86
  * Called whenever a child was parented to the panel.
117
87
  *
@@ -121,45 +91,30 @@ interface Panel {
121
91
  * @source https://wiki.facepunch.com/gmod/PANEL:OnChildAdded
122
92
  */
123
93
  OnChildAdded(self: Panel, child: Panel): void;
124
- }
125
-
126
- interface Panel {
127
94
  /**
128
95
  * Called whenever a child of the panel is about to removed.
129
96
  * @realm client
130
97
  * @source https://wiki.facepunch.com/gmod/PANEL:OnChildRemoved
131
98
  */
132
99
  OnChildRemoved(self: Panel, child: Panel): void;
133
- }
134
-
135
- interface Panel {
136
100
  /**
137
101
  * Called whenever the cursor entered the panels bounds.
138
102
  * @realm client
139
103
  * @source https://wiki.facepunch.com/gmod/PANEL:OnCursorEntered
140
104
  */
141
105
  OnCursorEntered(self: Panel): void;
142
- }
143
-
144
- interface Panel {
145
106
  /**
146
107
  * Called whenever the cursor left the panels bounds.
147
108
  * @realm client
148
109
  * @source https://wiki.facepunch.com/gmod/PANEL:OnCursorExited
149
110
  */
150
111
  OnCursorExited(self: Panel): void;
151
- }
152
-
153
- interface Panel {
154
112
  /**
155
113
  * Called whenever the cursor was moved with the panels bounds.
156
114
  * @realm client
157
115
  * @source https://wiki.facepunch.com/gmod/PANEL:OnCursorMoved
158
116
  */
159
117
  OnCursorMoved(self: Panel, cursorX: number, cursorY: number): boolean;
160
- }
161
-
162
- interface Panel {
163
118
  /**
164
119
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
165
120
  * Called when we are deactivated during level load. Used by the loading screen panel.
@@ -167,9 +122,6 @@ interface Panel {
167
122
  * @source https://wiki.facepunch.com/gmod/PANEL:OnDeactivate
168
123
  */
169
124
  OnDeactivate(self: Panel): void;
170
- }
171
-
172
- interface Panel {
173
125
  /**
174
126
  * We're being dropped on something
175
127
  * We can create a new panel here and return it, so that instead of dropping us - it drops the new panel instead! We remain where we are!
@@ -180,9 +132,6 @@ interface Panel {
180
132
  * @source https://wiki.facepunch.com/gmod/PANEL:OnDrop
181
133
  */
182
134
  OnDrop(self: Panel): Panel;
183
- }
184
-
185
- interface Panel {
186
135
  /**
187
136
  * Called whenever the panel gained or lost focus.
188
137
  *
@@ -193,18 +142,12 @@ interface Panel {
193
142
  * @source https://wiki.facepunch.com/gmod/PANEL:OnFocusChanged
194
143
  */
195
144
  OnFocusChanged(self: Panel, gained: boolean): void;
196
- }
197
-
198
- interface Panel {
199
145
  /**
200
146
  * Called when the panel a child [DHScrollBar](https://wiki.facepunch.com/gmod/DHScrollBar) is scrolled.
201
147
  * @realm client
202
148
  * @source https://wiki.facepunch.com/gmod/PANEL:OnHScroll
203
149
  */
204
150
  OnHScroll(self: Panel, offset: number): void;
205
- }
206
-
207
- interface Panel {
208
151
  /**
209
152
  * Called whenever a keyboard key was pressed while the panel is focused.
210
153
  *
@@ -214,9 +157,6 @@ interface Panel {
214
157
  * @source https://wiki.facepunch.com/gmod/PANEL:OnKeyCodePressed
215
158
  */
216
159
  OnKeyCodePressed(self: Panel, keyCode: number): boolean;
217
- }
218
-
219
- interface Panel {
220
160
  /**
221
161
  * Called whenever a keyboard key was released while the panel is focused.
222
162
  *
@@ -226,45 +166,30 @@ interface Panel {
226
166
  * @source https://wiki.facepunch.com/gmod/PANEL:OnKeyCodeReleased
227
167
  */
228
168
  OnKeyCodeReleased(self: Panel, keyCode: number): boolean;
229
- }
230
-
231
- interface Panel {
232
169
  /**
233
170
  * Called whenever a mouse key was pressed while the panel is focused.
234
171
  * @realm client
235
172
  * @source https://wiki.facepunch.com/gmod/PANEL:OnMousePressed
236
173
  */
237
174
  OnMousePressed(self: Panel, keyCode: number): boolean;
238
- }
239
-
240
- interface Panel {
241
175
  /**
242
176
  * Called whenever a mouse key was released while the panel is focused.
243
177
  * @realm client
244
178
  * @source https://wiki.facepunch.com/gmod/PANEL:OnMouseReleased
245
179
  */
246
180
  OnMouseReleased(self: Panel, keyCode: number): boolean;
247
- }
248
-
249
- interface Panel {
250
181
  /**
251
182
  * Called whenever the mouse wheel was used.
252
183
  * @realm client
253
184
  * @source https://wiki.facepunch.com/gmod/PANEL:OnMouseWheeled
254
185
  */
255
186
  OnMouseWheeled(self: Panel, scrollDelta: number): boolean;
256
- }
257
-
258
- interface Panel {
259
187
  /**
260
188
  * Called when the panel is about to be removed.
261
189
  * @realm client
262
190
  * @source https://wiki.facepunch.com/gmod/PANEL:OnRemove
263
191
  */
264
192
  OnRemove(self: Panel): void;
265
- }
266
-
267
- interface Panel {
268
193
  /**
269
194
  * Called when the player's screen resolution of the game changes.
270
195
  *
@@ -274,18 +199,12 @@ interface Panel {
274
199
  * @source https://wiki.facepunch.com/gmod/PANEL:OnScreenSizeChanged
275
200
  */
276
201
  OnScreenSizeChanged(self: Panel, oldWidth: number, oldHeight: number, newWidth: number, newHeight: number): void;
277
- }
278
-
279
- interface Panel {
280
202
  /**
281
203
  * Called when the panel a child [DVScrollBar](https://wiki.facepunch.com/gmod/DVScrollBar) or [DHScrollBar](https://wiki.facepunch.com/gmod/DHScrollBar) becomes visible.
282
204
  * @realm client
283
205
  * @source https://wiki.facepunch.com/gmod/PANEL:OnScrollbarAppear
284
206
  */
285
207
  OnScrollbarAppear(self: Panel): void;
286
- }
287
-
288
- interface Panel {
289
208
  /**
290
209
  * Called just after the panel size changes.
291
210
  *
@@ -298,9 +217,6 @@ interface Panel {
298
217
  * @source https://wiki.facepunch.com/gmod/PANEL:OnSizeChanged
299
218
  */
300
219
  OnSizeChanged(self: Panel, newWidth: number, newHeight: number): void;
301
- }
302
-
303
- interface Panel {
304
220
  /**
305
221
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
306
222
  * Called by [dragndrop.StartDragging](https://wiki.facepunch.com/gmod/dragndrop.StartDragging) when the panel starts being dragged.
@@ -308,9 +224,6 @@ interface Panel {
308
224
  * @source https://wiki.facepunch.com/gmod/PANEL:OnStartDragging
309
225
  */
310
226
  OnStartDragging(self: Panel): void;
311
- }
312
-
313
- interface Panel {
314
227
  /**
315
228
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
316
229
  * Called by [Panel:DragMouseRelease](https://wiki.facepunch.com/gmod/Panel:DragMouseRelease) when the panel object is released after being dragged.
@@ -318,27 +231,18 @@ interface Panel {
318
231
  * @source https://wiki.facepunch.com/gmod/PANEL:OnStopDragging
319
232
  */
320
233
  OnStopDragging(self: Panel): void;
321
- }
322
-
323
- interface Panel {
324
234
  /**
325
235
  * Called whenever clickable text is clicked within a [RichText](https://wiki.facepunch.com/gmod/RichText).
326
236
  * @realm client
327
237
  * @source https://wiki.facepunch.com/gmod/PANEL:OnTextClicked
328
238
  */
329
239
  OnTextClicked(self: Panel, id: string): void;
330
- }
331
-
332
- interface Panel {
333
240
  /**
334
241
  * Called when the panel a child [DVScrollBar](https://wiki.facepunch.com/gmod/DVScrollBar) is scrolled.
335
242
  * @realm client
336
243
  * @source https://wiki.facepunch.com/gmod/PANEL:OnVScroll
337
244
  */
338
245
  OnVScroll(self: Panel, offset: number): void;
339
- }
340
-
341
- interface Panel {
342
246
  /**
343
247
  * Called whenever the panel should be drawn.
344
248
  *
@@ -356,9 +260,6 @@ interface Panel {
356
260
  * @source https://wiki.facepunch.com/gmod/PANEL:Paint
357
261
  */
358
262
  Paint(self: Panel, width: number, height: number): boolean;
359
- }
360
-
361
- interface Panel {
362
263
  /**
363
264
  * Called whenever the panel and all its children were drawn, return true to override the default drawing.
364
265
  *
@@ -368,9 +269,6 @@ interface Panel {
368
269
  * @source https://wiki.facepunch.com/gmod/PANEL:PaintOver
369
270
  */
370
271
  PaintOver(self: Panel, width: number, height: number): boolean;
371
- }
372
-
373
- interface Panel {
374
272
  /**
375
273
  * Called whenever the panels' layout needs to be performed again. This means all child panels must be re-positioned to fit the possibly new size of this panel.
376
274
  *
@@ -389,9 +287,6 @@ interface Panel {
389
287
  * @source https://wiki.facepunch.com/gmod/PANEL:PerformLayout
390
288
  */
391
289
  PerformLayout(self: Panel, width: number, height: number): void;
392
- }
393
-
394
- interface Panel {
395
290
  /**
396
291
  * Only works on elements defined with [derma.DefineControl](https://wiki.facepunch.com/gmod/derma.DefineControl) and only if the panel has **AllowAutoRefresh** set to true.
397
292
  *
@@ -403,9 +298,6 @@ interface Panel {
403
298
  * @source https://wiki.facepunch.com/gmod/PANEL:PostAutoRefresh
404
299
  */
405
300
  PostAutoRefresh(self: Panel): void;
406
- }
407
-
408
- interface Panel {
409
301
  /**
410
302
  * Only works on elements defined with [derma.DefineControl](https://wiki.facepunch.com/gmod/derma.DefineControl) and only if the panel has **AllowAutoRefresh** set to true.
411
303
  *
@@ -417,27 +309,18 @@ interface Panel {
417
309
  * @source https://wiki.facepunch.com/gmod/PANEL:PreAutoRefresh
418
310
  */
419
311
  PreAutoRefresh(self: Panel): void;
420
- }
421
-
422
- interface Panel {
423
312
  /**
424
313
  * Called to test if the panel is being `hovered` by the mouse. This will only be called if the panel's parent is being hovered.
425
314
  * @realm client
426
315
  * @source https://wiki.facepunch.com/gmod/PANEL:TestHover
427
316
  */
428
317
  TestHover(self: Panel, x: number, y: number): boolean;
429
- }
430
-
431
- interface Panel {
432
318
  /**
433
319
  * Called every frame while [Panel:IsVisible](https://wiki.facepunch.com/gmod/Panel:IsVisible) is true.
434
320
  * @realm client and menu
435
321
  * @source https://wiki.facepunch.com/gmod/PANEL:Think
436
322
  */
437
323
  Think(self: Panel): void;
438
- }
439
-
440
- interface Panel {
441
324
  /**
442
325
  * Adds the specified object to the panel.
443
326
  *
@@ -451,10 +334,6 @@ interface Panel {
451
334
  Add<T extends Panel>(self: Panel, object: string | T): T;
452
335
  /** Creates a panel from a PANEL table and parents it to this panel. */
453
336
  Add(self: Panel, panelTable: table): Panel;
454
- }
455
-
456
-
457
- interface Panel {
458
337
  /**
459
338
  * This function does nothing.
460
339
  *
@@ -463,63 +342,42 @@ interface Panel {
463
342
  * @deprecated Does nothing
464
343
  */
465
344
  AddText(self: Panel): void;
466
- }
467
-
468
- interface Panel {
469
345
  /**
470
346
  * Aligns the panel on the bottom of its parent with the specified offset.
471
347
  * @realm client and menu
472
348
  * @source https://wiki.facepunch.com/gmod/Panel:AlignBottom
473
349
  */
474
350
  AlignBottom(self: Panel, offset?: number): void;
475
- }
476
-
477
- interface Panel {
478
351
  /**
479
352
  * Aligns the panel on the left of its parent with the specified offset.
480
353
  * @realm client and menu
481
354
  * @source https://wiki.facepunch.com/gmod/Panel:AlignLeft
482
355
  */
483
356
  AlignLeft(self: Panel, offset?: number): void;
484
- }
485
-
486
- interface Panel {
487
357
  /**
488
358
  * Aligns the panel on the right of its parent with the specified offset.
489
359
  * @realm client and menu
490
360
  * @source https://wiki.facepunch.com/gmod/Panel:AlignRight
491
361
  */
492
362
  AlignRight(self: Panel, offset?: number): void;
493
- }
494
-
495
- interface Panel {
496
363
  /**
497
364
  * Aligns the panel on the top of its parent with the specified offset.
498
365
  * @realm client and menu
499
366
  * @source https://wiki.facepunch.com/gmod/Panel:AlignTop
500
367
  */
501
368
  AlignTop(self: Panel, offset?: number): void;
502
- }
503
-
504
- interface Panel {
505
369
  /**
506
370
  * Uses animation to transition the current alpha value of a panel to a new alpha, over a set period of time and after a specified delay.
507
371
  * @realm client and menu
508
372
  * @source https://wiki.facepunch.com/gmod/Panel:AlphaTo
509
373
  */
510
374
  AlphaTo(self: Panel, alpha: number, duration: number, delay?: number, callback?: (animData: table, targetPanel: Panel) => void): void;
511
- }
512
-
513
- interface Panel {
514
375
  /**
515
376
  * Returns the [Global.SysTime](https://wiki.facepunch.com/gmod/Global.SysTime) value when all animations for this panel object will end.
516
377
  * @realm client and menu
517
378
  * @source https://wiki.facepunch.com/gmod/Panel:AnimTail
518
379
  */
519
380
  AnimTail(self: Panel): number;
520
- }
521
-
522
- interface Panel {
523
381
  /**
524
382
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
525
383
  * Performs the per-frame operations required for panel animations.
@@ -530,27 +388,18 @@ interface Panel {
530
388
  * @source https://wiki.facepunch.com/gmod/Panel:AnimationThinkInternal
531
389
  */
532
390
  AnimationThinkInternal(self: Panel): void;
533
- }
534
-
535
- interface Panel {
536
391
  /**
537
392
  * Appends text to a [RichText](https://wiki.facepunch.com/gmod/RichText) element. This does not automatically add a new line.
538
393
  * @realm client and menu
539
394
  * @source https://wiki.facepunch.com/gmod/Panel:AppendText
540
395
  */
541
396
  AppendText(self: Panel, txt: string): void;
542
- }
543
-
544
- interface Panel {
545
397
  /**
546
398
  * Appends text to a [RichText](https://wiki.facepunch.com/gmod/RichText) element (exactly like [Panel:AppendText](https://wiki.facepunch.com/gmod/Panel:AppendText)), while also parsing and adding valid URLs ([Panel:InsertClickableTextStart](https://wiki.facepunch.com/gmod/Panel:InsertClickableTextStart)). This does not automatically add a new line.
547
399
  * @realm client and menu
548
400
  * @source https://wiki.facepunch.com/gmod/Panel:AppendTextWithURLs
549
401
  */
550
402
  AppendTextWithURLs(self: Panel, txt: string): void;
551
- }
552
-
553
- interface Panel {
554
403
  /**
555
404
  * Used by [Panel:LoadGWENFile](https://wiki.facepunch.com/gmod/Panel:LoadGWENFile) and [Panel:LoadGWENString](https://wiki.facepunch.com/gmod/Panel:LoadGWENString) to apply a GWEN controls table to a panel object.
556
405
  *
@@ -560,9 +409,6 @@ interface Panel {
560
409
  * @source https://wiki.facepunch.com/gmod/Panel:ApplyGWEN
561
410
  */
562
411
  ApplyGWEN(self: Panel, GWENTable: table): void;
563
- }
564
-
565
- interface Panel {
566
412
  /**
567
413
  * Centers the panel on its parent.
568
414
  *
@@ -580,9 +426,6 @@ interface Panel {
580
426
  * @source https://wiki.facepunch.com/gmod/Panel:Center
581
427
  */
582
428
  Center(self: Panel): void;
583
- }
584
-
585
- interface Panel {
586
429
  /**
587
430
  * Centers the panel horizontally with specified fraction.
588
431
  *
@@ -591,9 +434,6 @@ interface Panel {
591
434
  * @source https://wiki.facepunch.com/gmod/Panel:CenterHorizontal
592
435
  */
593
436
  CenterHorizontal(self: Panel, fraction?: number): void;
594
- }
595
-
596
- interface Panel {
597
437
  /**
598
438
  * Centers the panel vertically with specified fraction.
599
439
  *
@@ -602,36 +442,24 @@ interface Panel {
602
442
  * @source https://wiki.facepunch.com/gmod/Panel:CenterVertical
603
443
  */
604
444
  CenterVertical(self: Panel, fraction?: number): void;
605
- }
606
-
607
- interface Panel {
608
445
  /**
609
446
  * Returns the amount of children of the of panel.
610
447
  * @realm client and menu
611
448
  * @source https://wiki.facepunch.com/gmod/Panel:ChildCount
612
449
  */
613
450
  ChildCount(self: Panel): number;
614
- }
615
-
616
- interface Panel {
617
451
  /**
618
452
  * Returns the width and height of the space between the position of the panel (upper-left corner) and the max bound of the children panels (farthest reaching lower-right corner).
619
453
  * @realm client and menu
620
454
  * @source https://wiki.facepunch.com/gmod/Panel:ChildrenSize
621
455
  */
622
456
  ChildrenSize(self: Panel): (number, number);
623
- }
624
-
625
- interface Panel {
626
457
  /**
627
458
  * Removes all of the panel's children. Many panels also override this method to gracefully clear their contents without breaking themselves.
628
459
  * @realm client and menu
629
460
  * @source https://wiki.facepunch.com/gmod/Panel:Clear
630
461
  */
631
462
  Clear(self: Panel): void;
632
- }
633
-
634
- interface Panel {
635
463
  /**
636
464
  * Fades panels color to specified one.
637
465
  * **NOTE**: The panel must have `GetColor` and `SetColor` functions for `ColorTo` to work.
@@ -641,18 +469,12 @@ interface Panel {
641
469
  * @source https://wiki.facepunch.com/gmod/Panel:ColorTo
642
470
  */
643
471
  ColorTo(self: Panel, color: Color, length: number, delay?: number, callback?: (animData: AnimationData, targetPanel: Panel) => void): void;
644
- }
645
-
646
- interface Panel {
647
472
  /**
648
473
  * Updates a panel object's associated console variable. This must first be set up with [Global.Derma_Install_Convar_Functions](https://wiki.facepunch.com/gmod/Global.Derma_Install_Convar_Functions), and have a ConVar set using [Panel:SetConVar](https://wiki.facepunch.com/gmod/Panel:SetConVar).
649
474
  * @realm client and menu
650
475
  * @source https://wiki.facepunch.com/gmod/Panel:ConVarChanged
651
476
  */
652
477
  ConVarChanged(self: Panel, newValue: string): void;
653
- }
654
-
655
- interface Panel {
656
478
  /**
657
479
  * A think hook for [Panel](https://wiki.facepunch.com/gmod/Panel)s using ConVars as a value. Call it in the Think hook. Sets the panel's value should the convar change.
658
480
  *
@@ -668,9 +490,6 @@ interface Panel {
668
490
  * @source https://wiki.facepunch.com/gmod/Panel:ConVarNumberThink
669
491
  */
670
492
  ConVarNumberThink(self: Panel): void;
671
- }
672
-
673
- interface Panel {
674
493
  /**
675
494
  * A think hook for [panels](https://wiki.facepunch.com/gmod/Panel) using ConVars as a value. Call it in the Think hook. Sets the panel's value should the convar change.
676
495
  *
@@ -685,63 +504,42 @@ interface Panel {
685
504
  * @source https://wiki.facepunch.com/gmod/Panel:ConVarStringThink
686
505
  */
687
506
  ConVarStringThink(self: Panel): void;
688
- }
689
-
690
- interface Panel {
691
507
  /**
692
508
  * Gets the size, position and dock state of the passed panel object, and applies it to this one.
693
509
  * @realm client and menu
694
510
  * @source https://wiki.facepunch.com/gmod/Panel:CopyBase
695
511
  */
696
512
  CopyBase(self: Panel, srcPanel: Panel): void;
697
- }
698
-
699
- interface Panel {
700
513
  /**
701
514
  * Copies position and size of the panel.
702
515
  * @realm client and menu
703
516
  * @source https://wiki.facepunch.com/gmod/Panel:CopyBounds
704
517
  */
705
518
  CopyBounds(self: Panel, base: Panel): void;
706
- }
707
-
708
- interface Panel {
709
519
  /**
710
520
  * Copies the height of the panel.
711
521
  * @realm client and menu
712
522
  * @source https://wiki.facepunch.com/gmod/Panel:CopyHeight
713
523
  */
714
524
  CopyHeight(self: Panel, base: Panel): void;
715
- }
716
-
717
- interface Panel {
718
525
  /**
719
526
  * Copies the position of the panel.
720
527
  * @realm client and menu
721
528
  * @source https://wiki.facepunch.com/gmod/Panel:CopyPos
722
529
  */
723
530
  CopyPos(self: Panel, base: Panel): void;
724
- }
725
-
726
- interface Panel {
727
531
  /**
728
532
  * Performs the CONTROL + C key combination effect ( Copy selection to clipboard ) on selected text in a [TextEntry](https://wiki.facepunch.com/gmod/TextEntry) or [RichText](https://wiki.facepunch.com/gmod/RichText) based element.
729
533
  * @realm client and menu
730
534
  * @source https://wiki.facepunch.com/gmod/Panel:CopySelected
731
535
  */
732
536
  CopySelected(self: Panel): void;
733
- }
734
-
735
- interface Panel {
736
537
  /**
737
538
  * Copies the width of the panel.
738
539
  * @realm client and menu
739
540
  * @source https://wiki.facepunch.com/gmod/Panel:CopyWidth
740
541
  */
741
542
  CopyWidth(self: Panel, base: Panel): void;
742
- }
743
-
744
- interface Panel {
745
543
  /**
746
544
  * Returns the cursor position relative to the top left of the panel.
747
545
  *
@@ -756,27 +554,18 @@ interface Panel {
756
554
  * @source https://wiki.facepunch.com/gmod/Panel:CursorPos
757
555
  */
758
556
  CursorPos(self: Panel): (number, number);
759
- }
760
-
761
- interface Panel {
762
557
  /**
763
558
  * Performs the CONTROL + X (delete text and copy it to clipboard buffer) action on selected text in a [TextEntry](https://wiki.facepunch.com/gmod/TextEntry) or [RichText](https://wiki.facepunch.com/gmod/RichText) based element.
764
559
  * @realm client and menu
765
560
  * @source https://wiki.facepunch.com/gmod/Panel:CutSelected
766
561
  */
767
562
  CutSelected(self: Panel): void;
768
- }
769
-
770
- interface Panel {
771
563
  /**
772
564
  * Deletes a cookie value using the panel's cookie name ( [Panel:GetCookieName](https://wiki.facepunch.com/gmod/Panel:GetCookieName) ) and the passed extension.
773
565
  * @realm client and menu
774
566
  * @source https://wiki.facepunch.com/gmod/Panel:DeleteCookie
775
567
  */
776
568
  DeleteCookie(self: Panel, cookieName: string): void;
777
- }
778
-
779
- interface Panel {
780
569
  /**
781
570
  * Resets the panel object's [Panel:SetPos](https://wiki.facepunch.com/gmod/Panel:SetPos) method and removes its animation table (`Panel.LerpAnim`). This effectively undoes the changes made by [Panel:LerpPositions](https://wiki.facepunch.com/gmod/Panel:LerpPositions).
782
571
  *
@@ -786,27 +575,18 @@ interface Panel {
786
575
  * @source https://wiki.facepunch.com/gmod/Panel:DisableLerp
787
576
  */
788
577
  DisableLerp(self: Panel): void;
789
- }
790
-
791
- interface Panel {
792
578
  /**
793
579
  * Returns the linear distance from the center of this panel object and another. **Both panels must have the same parent for this function to work properly.**
794
580
  * @realm client and menu
795
581
  * @source https://wiki.facepunch.com/gmod/Panel:Distance
796
582
  */
797
583
  Distance(self: Panel, tgtPanel: Panel): number;
798
- }
799
-
800
- interface Panel {
801
584
  /**
802
585
  * Returns the distance between the center of this panel object and a specified point **local to the parent panel**.
803
586
  * @realm client and menu
804
587
  * @source https://wiki.facepunch.com/gmod/Panel:DistanceFrom
805
588
  */
806
589
  DistanceFrom(self: Panel, posX: number, posY: number): number;
807
- }
808
-
809
- interface Panel {
810
590
  /**
811
591
  * Makes the panel "lock" the screen until it is removed. All input will be directed to the given panel.
812
592
  *
@@ -818,9 +598,6 @@ interface Panel {
818
598
  * @source https://wiki.facepunch.com/gmod/Panel:DoModal
819
599
  */
820
600
  DoModal(self: Panel): void;
821
- }
822
-
823
- interface Panel {
824
601
  /**
825
602
  * Sets the dock type for the panel, making the panel "dock" in a certain direction, modifying it's position and size.
826
603
  *
@@ -835,9 +612,6 @@ interface Panel {
835
612
  * @source https://wiki.facepunch.com/gmod/Panel:Dock
836
613
  */
837
614
  Dock(self: Panel, dockType: DOCK): void;
838
- }
839
-
840
- interface Panel {
841
615
  /**
842
616
  * Sets the dock margin of the panel.
843
617
  *
@@ -847,9 +621,6 @@ interface Panel {
847
621
  * @source https://wiki.facepunch.com/gmod/Panel:DockMargin
848
622
  */
849
623
  DockMargin(self: Panel, marginLeft: number, marginTop: number, marginRight: number, marginBottom: number): void;
850
- }
851
-
852
- interface Panel {
853
624
  /**
854
625
  * Sets the dock padding of the panel.
855
626
  *
@@ -859,9 +630,6 @@ interface Panel {
859
630
  * @source https://wiki.facepunch.com/gmod/Panel:DockPadding
860
631
  */
861
632
  DockPadding(self: Panel, paddingLeft: number, paddingTop: number, paddingRight: number, paddingBottom: number): void;
862
- }
863
-
864
- interface Panel {
865
633
  /**
866
634
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
867
635
  * Called by [Panel:DragMouseRelease](https://wiki.facepunch.com/gmod/Panel:DragMouseRelease) when a user clicks one mouse button whilst dragging with another.
@@ -869,9 +637,6 @@ interface Panel {
869
637
  * @source https://wiki.facepunch.com/gmod/Panel:DragClick
870
638
  */
871
639
  DragClick(self: Panel): boolean;
872
- }
873
-
874
- interface Panel {
875
640
  /**
876
641
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
877
642
  * Called by [dragndrop.HoverThink](https://wiki.facepunch.com/gmod/dragndrop.HoverThink) to perform actions on an object that is dragged and hovered over another.
@@ -879,9 +644,6 @@ interface Panel {
879
644
  * @source https://wiki.facepunch.com/gmod/Panel:DragHover
880
645
  */
881
646
  DragHover(self: Panel, HoverTime: number): void;
882
- }
883
-
884
- interface Panel {
885
647
  /**
886
648
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
887
649
  * Called to end a drag and hover action. This resets the panel's [PANEL:PaintOver](https://wiki.facepunch.com/gmod/PANEL:PaintOver) method, and is primarily used by [dragndrop.StopDragging](https://wiki.facepunch.com/gmod/dragndrop.StopDragging).
@@ -889,27 +651,18 @@ interface Panel {
889
651
  * @source https://wiki.facepunch.com/gmod/Panel:DragHoverEnd
890
652
  */
891
653
  DragHoverEnd(self: Panel): void;
892
- }
893
-
894
- interface Panel {
895
654
  /**
896
655
  * Called to inform the [dragndrop](https://wiki.facepunch.com/gmod/dragndrop) that a mouse button is being held down on a panel object.
897
656
  * @realm client and menu
898
657
  * @source https://wiki.facepunch.com/gmod/Panel:DragMousePress
899
658
  */
900
659
  DragMousePress(self: Panel, mouseCode: number): void;
901
- }
902
-
903
- interface Panel {
904
660
  /**
905
661
  * Called to inform the [dragndrop](https://wiki.facepunch.com/gmod/dragndrop) that a mouse button has been depressed on a panel object.
906
662
  * @realm client and menu
907
663
  * @source https://wiki.facepunch.com/gmod/Panel:DragMouseRelease
908
664
  */
909
665
  DragMouseRelease(self: Panel, mouseCode: number): boolean;
910
- }
911
-
912
- interface Panel {
913
666
  /**
914
667
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
915
668
  * Called to draw the drop target when an object is being dragged across another. See [Panel:SetDropTarget](https://wiki.facepunch.com/gmod/Panel:SetDropTarget).
@@ -917,9 +670,6 @@ interface Panel {
917
670
  * @source https://wiki.facepunch.com/gmod/Panel:DrawDragHover
918
671
  */
919
672
  DrawDragHover(self: Panel, x: number, y: number, width: number, height: number): void;
920
- }
921
-
922
- interface Panel {
923
673
  /**
924
674
  * Draws a coloured rectangle to fill the panel object this method is called on. The colour is set using [surface.SetDrawColor](https://wiki.facepunch.com/gmod/surface.SetDrawColor). This should only be called within the object's [PANEL:Paint](https://wiki.facepunch.com/gmod/PANEL:Paint) or [PANEL:PaintOver](https://wiki.facepunch.com/gmod/PANEL:PaintOver) hooks, as a shortcut for [surface.DrawRect](https://wiki.facepunch.com/gmod/surface.DrawRect).
925
675
  *
@@ -930,9 +680,6 @@ interface Panel {
930
680
  * @source https://wiki.facepunch.com/gmod/Panel:DrawFilledRect
931
681
  */
932
682
  DrawFilledRect(self: Panel): void;
933
- }
934
-
935
- interface Panel {
936
683
  /**
937
684
  * Draws a hollow rectangle the size of the panel object this method is called on, with a border width of 1 px. The border colour is set using [surface.SetDrawColor](https://wiki.facepunch.com/gmod/surface.SetDrawColor). This should only be called within the object's [PANEL:Paint](https://wiki.facepunch.com/gmod/PANEL:Paint) or [PANEL:PaintOver](https://wiki.facepunch.com/gmod/PANEL:PaintOver) hooks, as a shortcut for [surface.DrawOutlinedRect](https://wiki.facepunch.com/gmod/surface.DrawOutlinedRect).
938
685
  *
@@ -943,18 +690,12 @@ interface Panel {
943
690
  * @source https://wiki.facepunch.com/gmod/Panel:DrawOutlinedRect
944
691
  */
945
692
  DrawOutlinedRect(self: Panel): void;
946
- }
947
-
948
- interface Panel {
949
693
  /**
950
694
  * Used to draw the magenta highlight colour of a panel object when it is selected. This should be called in the object's [PANEL:PaintOver](https://wiki.facepunch.com/gmod/PANEL:PaintOver) hook. Once this is implemented, the highlight colour will be displayed only when the object is selectable and selected. This is achieved using [Panel:SetSelectable](https://wiki.facepunch.com/gmod/Panel:SetSelectable) and [Panel:SetSelected](https://wiki.facepunch.com/gmod/Panel:SetSelected) respectively.
951
695
  * @realm client and menu
952
696
  * @source https://wiki.facepunch.com/gmod/Panel:DrawSelections
953
697
  */
954
698
  DrawSelections(self: Panel): void;
955
- }
956
-
957
- interface Panel {
958
699
  /**
959
700
  * Used to draw the text in a [DTextEntry](https://wiki.facepunch.com/gmod/DTextEntry) within a derma skin. This is usually called within the [SKIN:PaintTextEntry](https://wiki.facepunch.com/gmod/SKIN:PaintTextEntry) skin hook.
960
701
  * **NOTE**: Will silently fail if any of arguments are not given.
@@ -966,9 +707,6 @@ interface Panel {
966
707
  * @source https://wiki.facepunch.com/gmod/Panel:DrawTextEntryText
967
708
  */
968
709
  DrawTextEntryText(self: Panel, textCol: table, highlightCol: table, cursorCol: table): void;
969
- }
970
-
971
- interface Panel {
972
710
  /**
973
711
  * Draws a textured rectangle to fill the panel object this method is called on. The texture is set using [surface.SetTexture](https://wiki.facepunch.com/gmod/surface.SetTexture) or [surface.SetMaterial](https://wiki.facepunch.com/gmod/surface.SetMaterial). This should only be called within the object's [PANEL:Paint](https://wiki.facepunch.com/gmod/PANEL:Paint) or [PANEL:PaintOver](https://wiki.facepunch.com/gmod/PANEL:PaintOver) hooks, as a shortcut for [surface.DrawTexturedRect](https://wiki.facepunch.com/gmod/surface.DrawTexturedRect).
974
712
  *
@@ -979,9 +717,6 @@ interface Panel {
979
717
  * @source https://wiki.facepunch.com/gmod/Panel:DrawTexturedRect
980
718
  */
981
719
  DrawTexturedRect(self: Panel): void;
982
- }
983
-
984
- interface Panel {
985
720
  /**
986
721
  * Makes this panel droppable. This is used with [Panel:Receiver](https://wiki.facepunch.com/gmod/Panel:Receiver) to create drag and drop events.
987
722
  *
@@ -991,18 +726,12 @@ interface Panel {
991
726
  * @source https://wiki.facepunch.com/gmod/Panel:Droppable
992
727
  */
993
728
  Droppable(self: Panel, name: string): table;
994
- }
995
-
996
- interface Panel {
997
729
  /**
998
730
  * Completes a box selection. If the end point of the selection box is within the selection canvas, mouse capture is disabled for the panel object, and the selected state of each child object within the selection box is toggled.
999
731
  * @realm client and menu
1000
732
  * @source https://wiki.facepunch.com/gmod/Panel:EndBoxSelection
1001
733
  */
1002
734
  EndBoxSelection(self: Panel): boolean;
1003
- }
1004
-
1005
- interface Panel {
1006
735
  /**
1007
736
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
1008
737
  * Used to run commands within a [DHTML](https://wiki.facepunch.com/gmod/DHTML) window.
@@ -1010,36 +739,24 @@ interface Panel {
1010
739
  * @source https://wiki.facepunch.com/gmod/Panel:Exec
1011
740
  */
1012
741
  Exec(self: Panel, cmd: string): void;
1013
- }
1014
-
1015
- interface Panel {
1016
742
  /**
1017
743
  * Finds a panel in its children(and sub children) with the given name.
1018
744
  * @realm client and menu
1019
745
  * @source https://wiki.facepunch.com/gmod/Panel:Find
1020
746
  */
1021
747
  Find(self: Panel, panelName: string): Panel;
1022
- }
1023
-
1024
- interface Panel {
1025
748
  /**
1026
749
  * Focuses the next panel in the focus queue.
1027
750
  * @realm client and menu
1028
751
  * @source https://wiki.facepunch.com/gmod/Panel:FocusNext
1029
752
  */
1030
753
  FocusNext(self: Panel): void;
1031
- }
1032
-
1033
- interface Panel {
1034
754
  /**
1035
755
  * Focuses the previous panel in the focus queue.
1036
756
  * @realm client and menu
1037
757
  * @source https://wiki.facepunch.com/gmod/Panel:FocusPrevious
1038
758
  */
1039
759
  FocusPrevious(self: Panel): void;
1040
- }
1041
-
1042
- interface Panel {
1043
760
  /**
1044
761
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
1045
762
  * Used by [Panel:ApplyGWEN](https://wiki.facepunch.com/gmod/Panel:ApplyGWEN) to apply the `CheckboxText` property to a [DCheckBoxLabel](https://wiki.facepunch.com/gmod/DCheckBoxLabel). This does exactly the same as [Panel:GWEN_SetText](https://wiki.facepunch.com/gmod/Panel:GWEN_SetText), but exists to cater for the seperate GWEN properties.
@@ -1047,9 +764,6 @@ interface Panel {
1047
764
  * @source https://wiki.facepunch.com/gmod/Panel:GWEN_SetCheckboxText
1048
765
  */
1049
766
  GWEN_SetCheckboxText(self: Panel, txt: string): void;
1050
- }
1051
-
1052
- interface Panel {
1053
767
  /**
1054
768
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
1055
769
  * Used by [Panel:ApplyGWEN](https://wiki.facepunch.com/gmod/Panel:ApplyGWEN) to apply the `ControlName` property to a panel. This calls [Panel:SetName](https://wiki.facepunch.com/gmod/Panel:SetName).
@@ -1057,9 +771,6 @@ interface Panel {
1057
771
  * @source https://wiki.facepunch.com/gmod/Panel:GWEN_SetControlName
1058
772
  */
1059
773
  GWEN_SetControlName(self: Panel, name: string): void;
1060
- }
1061
-
1062
- interface Panel {
1063
774
  /**
1064
775
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
1065
776
  * Used by [Panel:ApplyGWEN](https://wiki.facepunch.com/gmod/Panel:ApplyGWEN) to apply the `Dock` property to a panel object. This calls [Panel:Dock](https://wiki.facepunch.com/gmod/Panel:Dock).
@@ -1067,9 +778,6 @@ interface Panel {
1067
778
  * @source https://wiki.facepunch.com/gmod/Panel:GWEN_SetDock
1068
779
  */
1069
780
  GWEN_SetDock(self: Panel, dockState: string): void;
1070
- }
1071
-
1072
- interface Panel {
1073
781
  /**
1074
782
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
1075
783
  * Used by [Panel:ApplyGWEN](https://wiki.facepunch.com/gmod/Panel:ApplyGWEN) to apply the `HorizontalAlign` property to a panel object. This calls [Panel:SetContentAlignment](https://wiki.facepunch.com/gmod/Panel:SetContentAlignment).
@@ -1077,9 +785,6 @@ interface Panel {
1077
785
  * @source https://wiki.facepunch.com/gmod/Panel:GWEN_SetHorizontalAlign
1078
786
  */
1079
787
  GWEN_SetHorizontalAlign(self: Panel, hAlign: string): void;
1080
- }
1081
-
1082
- interface Panel {
1083
788
  /**
1084
789
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
1085
790
  * Used by [Panel:ApplyGWEN](https://wiki.facepunch.com/gmod/Panel:ApplyGWEN) to apply the `Margin` property to a panel object. This calls [Panel:DockMargin](https://wiki.facepunch.com/gmod/Panel:DockMargin).
@@ -1087,9 +792,6 @@ interface Panel {
1087
792
  * @source https://wiki.facepunch.com/gmod/Panel:GWEN_SetMargin
1088
793
  */
1089
794
  GWEN_SetMargin(self: Panel, margins: table): void;
1090
- }
1091
-
1092
- interface Panel {
1093
795
  /**
1094
796
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
1095
797
  * Used by [Panel:ApplyGWEN](https://wiki.facepunch.com/gmod/Panel:ApplyGWEN) to apply the `Max` property to a [DNumberWang](https://wiki.facepunch.com/gmod/DNumberWang), [Slider](https://wiki.facepunch.com/gmod/Slider), [DNumSlider](https://wiki.facepunch.com/gmod/DNumSlider) or [DNumberScratch](https://wiki.facepunch.com/gmod/DNumberScratch). This calls `SetMax` on one of the previously listed methods.
@@ -1097,9 +799,6 @@ interface Panel {
1097
799
  * @source https://wiki.facepunch.com/gmod/Panel:GWEN_SetMax
1098
800
  */
1099
801
  GWEN_SetMax(self: Panel, maxValue: number): void;
1100
- }
1101
-
1102
- interface Panel {
1103
802
  /**
1104
803
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
1105
804
  * Used by [Panel:ApplyGWEN](https://wiki.facepunch.com/gmod/Panel:ApplyGWEN) to apply the `Min` property to a [DNumberWang](https://wiki.facepunch.com/gmod/DNumberWang), [Slider](https://wiki.facepunch.com/gmod/Slider), [DNumSlider](https://wiki.facepunch.com/gmod/DNumSlider) or [DNumberScratch](https://wiki.facepunch.com/gmod/DNumberScratch). This calls `SetMin` on one of the previously listed methods.
@@ -1107,9 +806,6 @@ interface Panel {
1107
806
  * @source https://wiki.facepunch.com/gmod/Panel:GWEN_SetMin
1108
807
  */
1109
808
  GWEN_SetMin(self: Panel, minValue: number): void;
1110
- }
1111
-
1112
- interface Panel {
1113
809
  /**
1114
810
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
1115
811
  * Used by [Panel:ApplyGWEN](https://wiki.facepunch.com/gmod/Panel:ApplyGWEN) to apply the `Position` property to a panel object. This calls [Panel:SetPos](https://wiki.facepunch.com/gmod/Panel:SetPos).
@@ -1117,9 +813,6 @@ interface Panel {
1117
813
  * @source https://wiki.facepunch.com/gmod/Panel:GWEN_SetPosition
1118
814
  */
1119
815
  GWEN_SetPosition(self: Panel, pos: table): void;
1120
- }
1121
-
1122
- interface Panel {
1123
816
  /**
1124
817
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
1125
818
  * Used by [Panel:ApplyGWEN](https://wiki.facepunch.com/gmod/Panel:ApplyGWEN) to apply the `Size` property to a panel object. This calls [Panel:SetSize](https://wiki.facepunch.com/gmod/Panel:SetSize).
@@ -1127,9 +820,6 @@ interface Panel {
1127
820
  * @source https://wiki.facepunch.com/gmod/Panel:GWEN_SetSize
1128
821
  */
1129
822
  GWEN_SetSize(self: Panel, size: table): void;
1130
- }
1131
-
1132
- interface Panel {
1133
823
  /**
1134
824
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
1135
825
  * Used by [Panel:ApplyGWEN](https://wiki.facepunch.com/gmod/Panel:ApplyGWEN) to apply the `Text` property to a panel.
@@ -1137,18 +827,12 @@ interface Panel {
1137
827
  * @source https://wiki.facepunch.com/gmod/Panel:GWEN_SetText
1138
828
  */
1139
829
  GWEN_SetText(self: Panel, txt: string): void;
1140
- }
1141
-
1142
- interface Panel {
1143
830
  /**
1144
831
  * Returns the alpha multiplier for this panel.
1145
832
  * @realm client and menu
1146
833
  * @source https://wiki.facepunch.com/gmod/Panel:GetAlpha
1147
834
  */
1148
835
  GetAlpha(self: Panel): number;
1149
- }
1150
-
1151
- interface Panel {
1152
836
  /**
1153
837
  * Returns the background color of a panel such as a [RichText](https://wiki.facepunch.com/gmod/RichText), [Label](https://wiki.facepunch.com/gmod/Label) or [DColorCube](https://wiki.facepunch.com/gmod/DColorCube).
1154
838
  *
@@ -1159,9 +843,6 @@ interface Panel {
1159
843
  * @source https://wiki.facepunch.com/gmod/Panel:GetBGColor
1160
844
  */
1161
845
  GetBGColor(self: Panel): Color;
1162
- }
1163
-
1164
- interface Panel {
1165
846
  /**
1166
847
  * Returns the position and size of the panel.
1167
848
  *
@@ -1171,72 +852,48 @@ interface Panel {
1171
852
  * @source https://wiki.facepunch.com/gmod/Panel:GetBounds
1172
853
  */
1173
854
  GetBounds(self: Panel): (number, number, number, number);
1174
- }
1175
-
1176
- interface Panel {
1177
855
  /**
1178
856
  * Returns the position/offset of the caret (or text cursor) in a text-based panel object.
1179
857
  * @realm client and menu
1180
858
  * @source https://wiki.facepunch.com/gmod/Panel:GetCaretPos
1181
859
  */
1182
860
  GetCaretPos(self: Panel): number;
1183
- }
1184
-
1185
- interface Panel {
1186
861
  /**
1187
862
  * Gets a child by its index. For use with [Panel:ChildCount](https://wiki.facepunch.com/gmod/Panel:ChildCount).
1188
863
  * @realm client and menu
1189
864
  * @source https://wiki.facepunch.com/gmod/Panel:GetChild
1190
865
  */
1191
866
  GetChild(self: Panel, childIndex: number): void;
1192
- }
1193
-
1194
- interface Panel {
1195
867
  /**
1196
868
  * Gets a child object's position relative to this panel object. The number of levels is not relevant; the child may have many parents between itself and the object on which the method is called.
1197
869
  * @realm client and menu
1198
870
  * @source https://wiki.facepunch.com/gmod/Panel:GetChildPosition
1199
871
  */
1200
872
  GetChildPosition(self: Panel, pnl: Panel): (number, number);
1201
- }
1202
-
1203
- interface Panel {
1204
873
  /**
1205
874
  * Returns a table with all the child panels of the panel.
1206
875
  * @realm client and menu
1207
876
  * @source https://wiki.facepunch.com/gmod/Panel:GetChildren
1208
877
  */
1209
878
  GetChildren(self: Panel): table;
1210
- }
1211
-
1212
- interface Panel {
1213
879
  /**
1214
880
  * Returns a table of all visible, selectable children of the panel object that lie at least partially within the specified rectangle.
1215
881
  * @realm client and menu
1216
882
  * @source https://wiki.facepunch.com/gmod/Panel:GetChildrenInRect
1217
883
  */
1218
884
  GetChildrenInRect(self: Panel, x: number, y: number, w: number, h: number): table;
1219
- }
1220
-
1221
- interface Panel {
1222
885
  /**
1223
886
  * Returns the class name of the panel. This would be the class name of the base engine-level panel, not Lua classname. The latter is stored usually in [Panel:GetName](https://wiki.facepunch.com/gmod/Panel:GetName).
1224
887
  * @realm client and menu
1225
888
  * @source https://wiki.facepunch.com/gmod/Panel:GetClassName
1226
889
  */
1227
890
  GetClassName(self: Panel): string;
1228
- }
1229
-
1230
- interface Panel {
1231
891
  /**
1232
892
  * Returns the child of this panel object that is closest to the specified point. The point is relative to the object on which the method is called. The distance the child is from this point is also returned.
1233
893
  * @realm client and menu
1234
894
  * @source https://wiki.facepunch.com/gmod/Panel:GetClosestChild
1235
895
  */
1236
896
  GetClosestChild(self: Panel, x: number, y: number): (Panel, number);
1237
- }
1238
-
1239
- interface Panel {
1240
897
  /**
1241
898
  * Returns the alignment of the text of a [Label](https://wiki.facepunch.com/gmod/Label).
1242
899
  *
@@ -1247,9 +904,6 @@ interface Panel {
1247
904
  * @source https://wiki.facepunch.com/gmod/Panel:GetContentAlignment
1248
905
  */
1249
906
  GetContentAlignment(self: Panel): number;
1250
- }
1251
-
1252
- interface Panel {
1253
907
  /**
1254
908
  * Gets the size of the content/children within a panel object.
1255
909
  *
@@ -1262,9 +916,6 @@ interface Panel {
1262
916
  * @source https://wiki.facepunch.com/gmod/Panel:GetContentSize
1263
917
  */
1264
918
  GetContentSize(self: Panel): (number, number);
1265
- }
1266
-
1267
- interface Panel {
1268
919
  /**
1269
920
  * Gets the value of a cookie stored by the panel object. This can also be done with [cookie.GetString](https://wiki.facepunch.com/gmod/cookie.GetString), using the panel's cookie name, a fullstop, and then the actual name of the cookie.
1270
921
  *
@@ -1274,18 +925,12 @@ interface Panel {
1274
925
  * @source https://wiki.facepunch.com/gmod/Panel:GetCookie
1275
926
  */
1276
927
  GetCookie(self: Panel, cookieName: string, _default: string): string;
1277
- }
1278
-
1279
- interface Panel {
1280
928
  /**
1281
929
  * Gets the name the panel uses to store cookies. This is set with [Panel:SetCookieName](https://wiki.facepunch.com/gmod/Panel:SetCookieName).
1282
930
  * @realm client and menu
1283
931
  * @source https://wiki.facepunch.com/gmod/Panel:GetCookieName
1284
932
  */
1285
933
  GetCookieName(self: Panel): string;
1286
- }
1287
-
1288
- interface Panel {
1289
934
  /**
1290
935
  * Gets the value of a cookie stored by the panel object, as a number. This can also be done with [cookie.GetNumber](https://wiki.facepunch.com/gmod/cookie.GetNumber), using the panel's cookie name, a fullstop, and then the actual name of the cookie.
1291
936
  *
@@ -1295,36 +940,24 @@ interface Panel {
1295
940
  * @source https://wiki.facepunch.com/gmod/Panel:GetCookieNumber
1296
941
  */
1297
942
  GetCookieNumber(self: Panel, cookieName: string, _default: number): number;
1298
- }
1299
-
1300
- interface Panel {
1301
943
  /**
1302
944
  * Returns a dock enum for the panel's current docking type.
1303
945
  * @realm client and menu
1304
946
  * @source https://wiki.facepunch.com/gmod/Panel:GetDock
1305
947
  */
1306
948
  GetDock(self: Panel): number;
1307
- }
1308
-
1309
- interface Panel {
1310
949
  /**
1311
950
  * Returns the docked margins of the panel. (set by [Panel:DockMargin](https://wiki.facepunch.com/gmod/Panel:DockMargin))
1312
951
  * @realm client and menu
1313
952
  * @source https://wiki.facepunch.com/gmod/Panel:GetDockMargin
1314
953
  */
1315
954
  GetDockMargin(self: Panel): (number, number, number, number);
1316
- }
1317
-
1318
- interface Panel {
1319
955
  /**
1320
956
  * Returns the docked padding of the panel. (set by [Panel:DockPadding](https://wiki.facepunch.com/gmod/Panel:DockPadding))
1321
957
  * @realm client and menu
1322
958
  * @source https://wiki.facepunch.com/gmod/Panel:GetDockPadding
1323
959
  */
1324
960
  GetDockPadding(self: Panel): (number, number, number, number);
1325
- }
1326
-
1327
- interface Panel {
1328
961
  /**
1329
962
  * Returns the foreground color of the panel.
1330
963
  *
@@ -1337,9 +970,6 @@ interface Panel {
1337
970
  * @source https://wiki.facepunch.com/gmod/Panel:GetFGColor
1338
971
  */
1339
972
  GetFGColor(self: Panel): Color;
1340
- }
1341
-
1342
- interface Panel {
1343
973
  /**
1344
974
  * Returns the name of the font that the panel renders its text with.
1345
975
  *
@@ -1352,18 +982,12 @@ interface Panel {
1352
982
  * @source https://wiki.facepunch.com/gmod/Panel:GetFont
1353
983
  */
1354
984
  GetFont(self: Panel): string;
1355
- }
1356
-
1357
- interface Panel {
1358
985
  /**
1359
986
  * Returns the panel's HTML material. Only works with [Awesomium](https://wiki.facepunch.com/gmod/Awesomium), [HTML](https://wiki.facepunch.com/gmod/HTML) and [DHTML](https://wiki.facepunch.com/gmod/DHTML) panels that have been fully loaded.
1360
987
  * @realm client
1361
988
  * @source https://wiki.facepunch.com/gmod/Panel:GetHTMLMaterial
1362
989
  */
1363
990
  GetHTMLMaterial(self: Panel): IMaterial;
1364
- }
1365
-
1366
- interface Panel {
1367
991
  /**
1368
992
  * Returns the height of a single line of a [RichText](https://wiki.facepunch.com/gmod/RichText) panel.
1369
993
  *
@@ -1371,9 +995,6 @@ interface Panel {
1371
995
  * @source https://wiki.facepunch.com/gmod/Panel:GetLineHeight
1372
996
  */
1373
997
  GetLineHeight(self: Panel): number;
1374
- }
1375
-
1376
- interface Panel {
1377
998
  /**
1378
999
  * Returns the current maximum character count.
1379
1000
  *
@@ -1383,18 +1004,12 @@ interface Panel {
1383
1004
  * @source https://wiki.facepunch.com/gmod/Panel:GetMaximumCharCount
1384
1005
  */
1385
1006
  GetMaximumCharCount(self: Panel): number;
1386
- }
1387
-
1388
- interface Panel {
1389
1007
  /**
1390
1008
  * Returns the internal name of the panel. Can be set via [Panel:SetName](https://wiki.facepunch.com/gmod/Panel:SetName).
1391
1009
  * @realm client and menu
1392
1010
  * @source https://wiki.facepunch.com/gmod/Panel:GetName
1393
1011
  */
1394
1012
  GetName(self: Panel): string;
1395
- }
1396
-
1397
- interface Panel {
1398
1013
  /**
1399
1014
  * Returns the number of lines in a [RichText](https://wiki.facepunch.com/gmod/RichText) or a [TextEntry](https://wiki.facepunch.com/gmod/TextEntry).
1400
1015
  *
@@ -1404,18 +1019,12 @@ interface Panel {
1404
1019
  * @source https://wiki.facepunch.com/gmod/Panel:GetNumLines
1405
1020
  */
1406
1021
  GetNumLines(self: Panel): number;
1407
- }
1408
-
1409
- interface Panel {
1410
1022
  /**
1411
1023
  * Returns the parent of the panel, returns nil if there is no parent.
1412
1024
  * @realm client and menu
1413
1025
  * @source https://wiki.facepunch.com/gmod/Panel:GetParent
1414
1026
  */
1415
1027
  GetParent(self: Panel): Panel;
1416
- }
1417
-
1418
- interface Panel {
1419
1028
  /**
1420
1029
  * Returns the position of the panel relative to its [Panel:GetParent](https://wiki.facepunch.com/gmod/Panel:GetParent).
1421
1030
  *
@@ -1429,9 +1038,6 @@ interface Panel {
1429
1038
  * @source https://wiki.facepunch.com/gmod/Panel:GetPos
1430
1039
  */
1431
1040
  GetPos(self: Panel): (number, number);
1432
- }
1433
-
1434
- interface Panel {
1435
1041
  /**
1436
1042
  * Returns the vertical and horizontal start indexes of a [TextEntry](https://wiki.facepunch.com/gmod/TextEntry)'s visible text. This is useful when the panel is scrolled.
1437
1043
  *
@@ -1439,18 +1045,12 @@ interface Panel {
1439
1045
  * @source https://wiki.facepunch.com/gmod/Panel:GetScrollStartIndexes
1440
1046
  */
1441
1047
  GetScrollStartIndexes(self: Panel): (number, number);
1442
- }
1443
-
1444
- interface Panel {
1445
1048
  /**
1446
1049
  * Returns a table of all children of the panel object that are selected. This is recursive, and the returned table will include tables for any child objects that also have children. This means that not all first-level members in the returned table will be of type [Panel](https://wiki.facepunch.com/gmod/Panel).
1447
1050
  * @realm client and menu
1448
1051
  * @source https://wiki.facepunch.com/gmod/Panel:GetSelectedChildren
1449
1052
  */
1450
1053
  GetSelectedChildren(self: Panel): table;
1451
- }
1452
-
1453
- interface Panel {
1454
1054
  /**
1455
1055
  * Returns the currently selected range of text.
1456
1056
  *
@@ -1460,9 +1060,6 @@ interface Panel {
1460
1060
  * @source https://wiki.facepunch.com/gmod/Panel:GetSelectedTextRange
1461
1061
  */
1462
1062
  GetSelectedTextRange(self: Panel): (number, number);
1463
- }
1464
-
1465
- interface Panel {
1466
1063
  /**
1467
1064
  * Returns the selection canvas for this panel. This will be the first parent that has [Panel:SetSelectionCanvas](https://wiki.facepunch.com/gmod/Panel:SetSelectionCanvas) set to true (or `self` if this panel is the selection canvas)
1468
1065
  *
@@ -1471,9 +1068,6 @@ interface Panel {
1471
1068
  * @source https://wiki.facepunch.com/gmod/Panel:GetSelectionCanvas
1472
1069
  */
1473
1070
  GetSelectionCanvas(self: Panel): Panel;
1474
- }
1475
-
1476
- interface Panel {
1477
1071
  /**
1478
1072
  * Returns the size of the panel.
1479
1073
  *
@@ -1483,27 +1077,18 @@ interface Panel {
1483
1077
  * @source https://wiki.facepunch.com/gmod/Panel:GetSize
1484
1078
  */
1485
1079
  GetSize(self: Panel): (number, number);
1486
- }
1487
-
1488
- interface Panel {
1489
1080
  /**
1490
1081
  * Returns the table for the derma skin currently being used by this panel object.
1491
1082
  * @realm client and menu
1492
1083
  * @source https://wiki.facepunch.com/gmod/Panel:GetSkin
1493
1084
  */
1494
1085
  GetSkin(self: Panel): table;
1495
- }
1496
-
1497
- interface Panel {
1498
1086
  /**
1499
1087
  * Returns the internal Lua table of the panel.
1500
1088
  * @realm client and menu
1501
1089
  * @source https://wiki.facepunch.com/gmod/Panel:GetTable
1502
1090
  */
1503
1091
  GetTable(self: Panel): table;
1504
- }
1505
-
1506
- interface Panel {
1507
1092
  /**
1508
1093
  * Returns the height of the panel.
1509
1094
  *
@@ -1514,9 +1099,6 @@ interface Panel {
1514
1099
  * @source https://wiki.facepunch.com/gmod/Panel:GetTall
1515
1100
  */
1516
1101
  GetTall(self: Panel): number;
1517
- }
1518
-
1519
- interface Panel {
1520
1102
  /**
1521
1103
  * Returns the panel's text (where applicable).
1522
1104
  *
@@ -1526,27 +1108,18 @@ interface Panel {
1526
1108
  * @source https://wiki.facepunch.com/gmod/Panel:GetText
1527
1109
  */
1528
1110
  GetText(self: Panel): string;
1529
- }
1530
-
1531
- interface Panel {
1532
1111
  /**
1533
1112
  * Gets the left and top text margins of a text-based panel object, such as a [DButton](https://wiki.facepunch.com/gmod/DButton) or [DLabel](https://wiki.facepunch.com/gmod/DLabel). This is set with [Panel:SetTextInset](https://wiki.facepunch.com/gmod/Panel:SetTextInset).
1534
1113
  * @realm client and menu
1535
1114
  * @source https://wiki.facepunch.com/gmod/Panel:GetTextInset
1536
1115
  */
1537
1116
  GetTextInset(self: Panel): (number, number);
1538
- }
1539
-
1540
- interface Panel {
1541
1117
  /**
1542
1118
  * Gets the size of the text within a [Label](https://wiki.facepunch.com/gmod/Label) derived panel.
1543
1119
  * @realm client and menu
1544
1120
  * @source https://wiki.facepunch.com/gmod/Panel:GetTextSize
1545
1121
  */
1546
1122
  GetTextSize(self: Panel): (number, number);
1547
- }
1548
-
1549
- interface Panel {
1550
1123
  /**
1551
1124
  * Returns the tooltip text that was set with [PANEL:SetTooltip](https://wiki.facepunch.com/gmod/PANEL:SetTooltip).
1552
1125
  *
@@ -1554,9 +1127,6 @@ interface Panel {
1554
1127
  * @source https://wiki.facepunch.com/gmod/Panel:GetTooltip
1555
1128
  */
1556
1129
  GetTooltip(self: Panel): string;
1557
- }
1558
-
1559
- interface Panel {
1560
1130
  /**
1561
1131
  * Returns the tooltip delay (time between hovering over the panel, and the tooltip showing up) that was set with [Panel:SetTooltipDelay](https://wiki.facepunch.com/gmod/Panel:SetTooltipDelay), or nothing if it was not set.
1562
1132
  *
@@ -1566,9 +1136,6 @@ interface Panel {
1566
1136
  * @source https://wiki.facepunch.com/gmod/Panel:GetTooltipDelay
1567
1137
  */
1568
1138
  GetTooltipDelay(self: Panel): number;
1569
- }
1570
-
1571
- interface Panel {
1572
1139
  /**
1573
1140
  * Returns the tooltip panel that was set with [PANEL:SetTooltipPanel](https://wiki.facepunch.com/gmod/PANEL:SetTooltipPanel).
1574
1141
  *
@@ -1576,18 +1143,12 @@ interface Panel {
1576
1143
  * @source https://wiki.facepunch.com/gmod/Panel:GetTooltipPanel
1577
1144
  */
1578
1145
  GetTooltipPanel(self: Panel): Panel;
1579
- }
1580
-
1581
- interface Panel {
1582
1146
  /**
1583
1147
  * Gets valid receiver slot of currently dragged panel.
1584
1148
  * @realm client and menu
1585
1149
  * @source https://wiki.facepunch.com/gmod/Panel:GetValidReceiverSlot
1586
1150
  */
1587
1151
  GetValidReceiverSlot(self: Panel): (Panel, table);
1588
- }
1589
-
1590
- interface Panel {
1591
1152
  /**
1592
1153
  * Returns the value the panel holds.
1593
1154
  *
@@ -1600,9 +1161,6 @@ interface Panel {
1600
1161
  * @source https://wiki.facepunch.com/gmod/Panel:GetValue
1601
1162
  */
1602
1163
  GetValue(self: Panel): any;
1603
- }
1604
-
1605
- interface Panel {
1606
1164
  /**
1607
1165
  * Returns the width of the panel.
1608
1166
  *
@@ -1611,9 +1169,6 @@ interface Panel {
1611
1169
  * @source https://wiki.facepunch.com/gmod/Panel:GetWide
1612
1170
  */
1613
1171
  GetWide(self: Panel): number;
1614
- }
1615
-
1616
- interface Panel {
1617
1172
  /**
1618
1173
  * Returns the X position of the panel relative to its [Panel:GetParent](https://wiki.facepunch.com/gmod/Panel:GetParent).
1619
1174
  *
@@ -1623,9 +1178,6 @@ interface Panel {
1623
1178
  * @source https://wiki.facepunch.com/gmod/Panel:GetX
1624
1179
  */
1625
1180
  GetX(self: Panel): number;
1626
- }
1627
-
1628
- interface Panel {
1629
1181
  /**
1630
1182
  * Returns the Y position of the panel relative to its [Panel:GetParent](https://wiki.facepunch.com/gmod/Panel:GetParent).
1631
1183
  *
@@ -1635,54 +1187,36 @@ interface Panel {
1635
1187
  * @source https://wiki.facepunch.com/gmod/Panel:GetY
1636
1188
  */
1637
1189
  GetY(self: Panel): number;
1638
- }
1639
-
1640
- interface Panel {
1641
1190
  /**
1642
1191
  * Returns the Z position of the panel.
1643
1192
  * @realm client and menu
1644
1193
  * @source https://wiki.facepunch.com/gmod/Panel:GetZPos
1645
1194
  */
1646
1195
  GetZPos(self: Panel): number;
1647
- }
1648
-
1649
- interface Panel {
1650
1196
  /**
1651
1197
  * Goes back one page in the HTML panel's history if available.
1652
1198
  * @realm client and menu
1653
1199
  * @source https://wiki.facepunch.com/gmod/Panel:GoBack
1654
1200
  */
1655
1201
  GoBack(self: Panel): void;
1656
- }
1657
-
1658
- interface Panel {
1659
1202
  /**
1660
1203
  * Goes forward one page in the HTML panel's history if available.
1661
1204
  * @realm client and menu
1662
1205
  * @source https://wiki.facepunch.com/gmod/Panel:GoForward
1663
1206
  */
1664
1207
  GoForward(self: Panel): void;
1665
- }
1666
-
1667
- interface Panel {
1668
1208
  /**
1669
1209
  * Goes to the page in the HTML panel's history at the specified relative offset.
1670
1210
  * @realm client and menu
1671
1211
  * @source https://wiki.facepunch.com/gmod/Panel:GoToHistoryOffset
1672
1212
  */
1673
1213
  GoToHistoryOffset(self: Panel, offset: number): void;
1674
- }
1675
-
1676
- interface Panel {
1677
1214
  /**
1678
1215
  * Causes a [RichText](https://wiki.facepunch.com/gmod/RichText) element to scroll to the bottom of its text.
1679
1216
  * @realm client and menu
1680
1217
  * @source https://wiki.facepunch.com/gmod/Panel:GotoTextEnd
1681
1218
  */
1682
1219
  GotoTextEnd(self: Panel): void;
1683
- }
1684
-
1685
- interface Panel {
1686
1220
  /**
1687
1221
  * Causes a [RichText](https://wiki.facepunch.com/gmod/RichText) element to scroll to the top of its text.
1688
1222
  *
@@ -1690,63 +1224,42 @@ interface Panel {
1690
1224
  * @source https://wiki.facepunch.com/gmod/Panel:GotoTextStart
1691
1225
  */
1692
1226
  GotoTextStart(self: Panel): void;
1693
- }
1694
-
1695
- interface Panel {
1696
1227
  /**
1697
1228
  * Returns whenever the panel has child panels.
1698
1229
  * @realm client and menu
1699
1230
  * @source https://wiki.facepunch.com/gmod/Panel:HasChildren
1700
1231
  */
1701
1232
  HasChildren(self: Panel): boolean;
1702
- }
1703
-
1704
- interface Panel {
1705
1233
  /**
1706
1234
  * Returns if the panel is focused.
1707
1235
  * @realm client and menu
1708
1236
  * @source https://wiki.facepunch.com/gmod/Panel:HasFocus
1709
1237
  */
1710
1238
  HasFocus(self: Panel): boolean;
1711
- }
1712
-
1713
- interface Panel {
1714
1239
  /**
1715
1240
  * Returns if the panel or any of its children(sub children and so on) has the focus.
1716
1241
  * @realm client and menu
1717
1242
  * @source https://wiki.facepunch.com/gmod/Panel:HasHierarchicalFocus
1718
1243
  */
1719
1244
  HasHierarchicalFocus(self: Panel): boolean;
1720
- }
1721
-
1722
- interface Panel {
1723
1245
  /**
1724
1246
  * Returns whether the panel is a descendent of the given panel.
1725
1247
  * @realm client and menu
1726
1248
  * @source https://wiki.facepunch.com/gmod/Panel:HasParent
1727
1249
  */
1728
1250
  HasParent(self: Panel, parentPanel: Panel): boolean;
1729
- }
1730
-
1731
- interface Panel {
1732
1251
  /**
1733
1252
  * Makes a panel invisible.
1734
1253
  * @realm client and menu
1735
1254
  * @source https://wiki.facepunch.com/gmod/Panel:Hide
1736
1255
  */
1737
1256
  Hide(self: Panel): void;
1738
- }
1739
-
1740
- interface Panel {
1741
1257
  /**
1742
1258
  * Marks the end of a clickable text segment in a [RichText](https://wiki.facepunch.com/gmod/RichText) element, started with [Panel:InsertClickableTextStart](https://wiki.facepunch.com/gmod/Panel:InsertClickableTextStart).
1743
1259
  * @realm client and menu
1744
1260
  * @source https://wiki.facepunch.com/gmod/Panel:InsertClickableTextEnd
1745
1261
  */
1746
1262
  InsertClickableTextEnd(self: Panel): void;
1747
- }
1748
-
1749
- interface Panel {
1750
1263
  /**
1751
1264
  * Starts the insertion of clickable text for a [RichText](https://wiki.facepunch.com/gmod/RichText) element. Any text appended with [Panel:AppendText](https://wiki.facepunch.com/gmod/Panel:AppendText) between this call and [Panel:InsertClickableTextEnd](https://wiki.facepunch.com/gmod/Panel:InsertClickableTextEnd) will become clickable text.
1752
1265
  *
@@ -1759,18 +1272,12 @@ interface Panel {
1759
1272
  * @source https://wiki.facepunch.com/gmod/Panel:InsertClickableTextStart
1760
1273
  */
1761
1274
  InsertClickableTextStart(self: Panel, signalValue: string): void;
1762
- }
1763
-
1764
- interface Panel {
1765
1275
  /**
1766
1276
  * Inserts a color change in a [RichText](https://wiki.facepunch.com/gmod/RichText) element, which affects the color of all text added with [Panel:AppendText](https://wiki.facepunch.com/gmod/Panel:AppendText) until another color change is applied.
1767
1277
  * @realm client and menu
1768
1278
  * @source https://wiki.facepunch.com/gmod/Panel:InsertColorChange
1769
1279
  */
1770
1280
  InsertColorChange(self: Panel, r: number, g: number, b: number, a: number): void;
1771
- }
1772
-
1773
- interface Panel {
1774
1281
  /**
1775
1282
  * Begins a text fade for a [RichText](https://wiki.facepunch.com/gmod/RichText) element where the last appended text segment is fully faded out after a specific amount of time, at a specific speed.
1776
1283
  *
@@ -1780,18 +1287,12 @@ interface Panel {
1780
1287
  * @source https://wiki.facepunch.com/gmod/Panel:InsertFade
1781
1288
  */
1782
1289
  InsertFade(self: Panel, sustain: number, length: number): void;
1783
- }
1784
-
1785
- interface Panel {
1786
1290
  /**
1787
1291
  * Invalidates the layout of this panel object and all its children. This will cause these objects to re-layout immediately, calling [PANEL:PerformLayout](https://wiki.facepunch.com/gmod/PANEL:PerformLayout). If you want to perform the layout in the next frame, you will have loop manually through all children, and call [Panel:InvalidateLayout](https://wiki.facepunch.com/gmod/Panel:InvalidateLayout) on each.
1788
1292
  * @realm client and menu
1789
1293
  * @source https://wiki.facepunch.com/gmod/Panel:InvalidateChildren
1790
1294
  */
1791
1295
  InvalidateChildren(self: Panel, recursive?: boolean): void;
1792
- }
1793
-
1794
- interface Panel {
1795
1296
  /**
1796
1297
  * Causes the panel to re-layout in the next frame. During the layout process [PANEL:PerformLayout](https://wiki.facepunch.com/gmod/PANEL:PerformLayout) will be called on the target panel.
1797
1298
  *
@@ -1803,9 +1304,6 @@ interface Panel {
1803
1304
  * @source https://wiki.facepunch.com/gmod/Panel:InvalidateLayout
1804
1305
  */
1805
1306
  InvalidateLayout(self: Panel, layoutNow?: boolean): void;
1806
- }
1807
-
1808
- interface Panel {
1809
1307
  /**
1810
1308
  * Calls [Panel:InvalidateLayout](https://wiki.facepunch.com/gmod/Panel:InvalidateLayout) on the panel's [parent](https://wiki.facepunch.com/gmod/Panel:GetParent). This function will silently fail if the panel has no parent.
1811
1309
  *
@@ -1817,36 +1315,24 @@ interface Panel {
1817
1315
  * @source https://wiki.facepunch.com/gmod/Panel:InvalidateParent
1818
1316
  */
1819
1317
  InvalidateParent(self: Panel, layoutNow?: boolean): void;
1820
- }
1821
-
1822
- interface Panel {
1823
1318
  /**
1824
1319
  * Determines whether the mouse cursor is hovered over one of this panel object's children. This is a reverse process using [vgui.GetHoveredPanel](https://wiki.facepunch.com/gmod/vgui.GetHoveredPanel), and looks upward to find the parent.
1825
1320
  * @realm client and menu
1826
1321
  * @source https://wiki.facepunch.com/gmod/Panel:IsChildHovered
1827
1322
  */
1828
1323
  IsChildHovered(self: Panel, immediate?: boolean): boolean;
1829
- }
1830
-
1831
- interface Panel {
1832
1324
  /**
1833
1325
  * Returns whether this panel is draggable ( if user is able to drag it ) or not.
1834
1326
  * @realm client and menu
1835
1327
  * @source https://wiki.facepunch.com/gmod/Panel:IsDraggable
1836
1328
  */
1837
1329
  IsDraggable(self: Panel): boolean;
1838
- }
1839
-
1840
- interface Panel {
1841
1330
  /**
1842
1331
  * Returns whether this panel is currently being dragged or not.
1843
1332
  * @realm client and menu
1844
1333
  * @source https://wiki.facepunch.com/gmod/Panel:IsDragging
1845
1334
  */
1846
1335
  IsDragging(self: Panel): boolean;
1847
- }
1848
-
1849
- interface Panel {
1850
1336
  /**
1851
1337
  * Returns whether the the panel is enabled or disabled.
1852
1338
  *
@@ -1856,9 +1342,6 @@ interface Panel {
1856
1342
  * @source https://wiki.facepunch.com/gmod/Panel:IsEnabled
1857
1343
  */
1858
1344
  IsEnabled(self: Panel): boolean;
1859
- }
1860
-
1861
- interface Panel {
1862
1345
  /**
1863
1346
  * Returns whether the mouse cursor is hovering over this panel or not
1864
1347
  *
@@ -1870,18 +1353,12 @@ interface Panel {
1870
1353
  * @source https://wiki.facepunch.com/gmod/Panel:IsHovered
1871
1354
  */
1872
1355
  IsHovered(self: Panel): boolean;
1873
- }
1874
-
1875
- interface Panel {
1876
1356
  /**
1877
1357
  * Returns true if the panel can receive keyboard input.
1878
1358
  * @realm client and menu
1879
1359
  * @source https://wiki.facepunch.com/gmod/Panel:IsKeyboardInputEnabled
1880
1360
  */
1881
1361
  IsKeyboardInputEnabled(self: Panel): boolean;
1882
- }
1883
-
1884
- interface Panel {
1885
1362
  /**
1886
1363
  * Determines whether or not a [HTML](https://wiki.facepunch.com/gmod/HTML) or [DHTML](https://wiki.facepunch.com/gmod/DHTML) element is currently loading a page.
1887
1364
  *
@@ -1896,126 +1373,84 @@ interface Panel {
1896
1373
  * @source https://wiki.facepunch.com/gmod/Panel:IsLoading
1897
1374
  */
1898
1375
  IsLoading(self: Panel): boolean;
1899
- }
1900
-
1901
- interface Panel {
1902
1376
  /**
1903
1377
  * Returns if the panel is going to be deleted in the next frame.
1904
1378
  * @realm client and menu
1905
1379
  * @source https://wiki.facepunch.com/gmod/Panel:IsMarkedForDeletion
1906
1380
  */
1907
1381
  IsMarkedForDeletion(self: Panel): boolean;
1908
- }
1909
-
1910
- interface Panel {
1911
1382
  /**
1912
1383
  * Returns whether the panel was made modal or not. See [Panel:DoModal](https://wiki.facepunch.com/gmod/Panel:DoModal).
1913
1384
  * @realm client and menu
1914
1385
  * @source https://wiki.facepunch.com/gmod/Panel:IsModal
1915
1386
  */
1916
1387
  IsModal(self: Panel): boolean;
1917
- }
1918
-
1919
- interface Panel {
1920
1388
  /**
1921
1389
  * Returns true if the panel can receive mouse input.
1922
1390
  * @realm client and menu
1923
1391
  * @source https://wiki.facepunch.com/gmod/Panel:IsMouseInputEnabled
1924
1392
  */
1925
1393
  IsMouseInputEnabled(self: Panel): boolean;
1926
- }
1927
-
1928
- interface Panel {
1929
1394
  /**
1930
1395
  * Determines whether or not a [TextEntry](https://wiki.facepunch.com/gmod/TextEntry) panel is in multi-line mode. This is set with [Panel:SetMultiline](https://wiki.facepunch.com/gmod/Panel:SetMultiline).
1931
1396
  * @realm client and menu
1932
1397
  * @source https://wiki.facepunch.com/gmod/Panel:IsMultiline
1933
1398
  */
1934
1399
  IsMultiline(self: Panel): boolean;
1935
- }
1936
-
1937
- interface Panel {
1938
1400
  /**
1939
1401
  * Returns whether the panel contains the given panel, recursively.
1940
1402
  * @realm client and menu
1941
1403
  * @source https://wiki.facepunch.com/gmod/Panel:IsOurChild
1942
1404
  */
1943
1405
  IsOurChild(self: Panel, childPanel: Panel): boolean;
1944
- }
1945
-
1946
- interface Panel {
1947
1406
  /**
1948
1407
  * Returns if the panel was made popup or not. See [Panel:MakePopup](https://wiki.facepunch.com/gmod/Panel:MakePopup)
1949
1408
  * @realm client and menu
1950
1409
  * @source https://wiki.facepunch.com/gmod/Panel:IsPopup
1951
1410
  */
1952
1411
  IsPopup(self: Panel): boolean;
1953
- }
1954
-
1955
- interface Panel {
1956
1412
  /**
1957
1413
  * Determines if the panel object is selectable (like icons in the Spawn Menu, holding Shift). This is set with [Panel:SetSelectable](https://wiki.facepunch.com/gmod/Panel:SetSelectable).
1958
1414
  * @realm client and menu
1959
1415
  * @source https://wiki.facepunch.com/gmod/Panel:IsSelectable
1960
1416
  */
1961
1417
  IsSelectable(self: Panel): boolean;
1962
- }
1963
-
1964
- interface Panel {
1965
1418
  /**
1966
1419
  * Returns if the panel object is selected (like icons in the Spawn Menu, holding Shift). This can be set in Lua using [Panel:SetSelected](https://wiki.facepunch.com/gmod/Panel:SetSelected).
1967
1420
  * @realm client and menu
1968
1421
  * @source https://wiki.facepunch.com/gmod/Panel:IsSelected
1969
1422
  */
1970
1423
  IsSelected(self: Panel): boolean;
1971
- }
1972
-
1973
- interface Panel {
1974
1424
  /**
1975
1425
  * Determines if the panel object is a selection canvas or not. This is set with [Panel:SetSelectionCanvas](https://wiki.facepunch.com/gmod/Panel:SetSelectionCanvas).
1976
1426
  * @realm client and menu
1977
1427
  * @source https://wiki.facepunch.com/gmod/Panel:IsSelectionCanvas
1978
1428
  */
1979
1429
  IsSelectionCanvas(self: Panel): any;
1980
- }
1981
-
1982
- interface Panel {
1983
1430
  /**
1984
1431
  * Returns if the panel is valid and not marked for deletion.
1985
1432
  * @realm client and menu
1986
1433
  * @source https://wiki.facepunch.com/gmod/Panel:IsValid
1987
1434
  */
1988
1435
  IsValid(self: Panel): boolean;
1989
- }
1990
-
1991
- interface Panel {
1992
1436
  /**
1993
1437
  * Returns if the panel is visible. This will **NOT** take into account visibility of the parent.
1994
1438
  * @realm client and menu
1995
1439
  * @source https://wiki.facepunch.com/gmod/Panel:IsVisible
1996
1440
  */
1997
1441
  IsVisible(self: Panel): boolean;
1998
- }
1999
-
2000
- interface Panel {
2001
1442
  /**
2002
1443
  * Returns if a panel allows world clicking set by [Panel:SetWorldClicker](https://wiki.facepunch.com/gmod/Panel:SetWorldClicker).
2003
1444
  * @realm client and menu
2004
1445
  * @source https://wiki.facepunch.com/gmod/Panel:IsWorldClicker
2005
1446
  */
2006
1447
  IsWorldClicker(self: Panel): boolean;
2007
- }
2008
-
2009
- interface Panel {
2010
1448
  /**
2011
1449
  * Remove the focus from the panel.
2012
1450
  * @realm client and menu
2013
1451
  * @source https://wiki.facepunch.com/gmod/Panel:KillFocus
2014
1452
  */
2015
1453
  KillFocus(self: Panel): void;
2016
- }
2017
-
2018
- interface Panel {
2019
1454
  /**
2020
1455
  * Redefines the panel object's [Panel:SetPos](https://wiki.facepunch.com/gmod/Panel:SetPos) method to operate using frame-by-frame linear interpolation ([Global.Lerp](https://wiki.facepunch.com/gmod/Global.Lerp)). When the panel's position is changed, it will move to the target position at the speed defined. You can undo this with [Panel:DisableLerp](https://wiki.facepunch.com/gmod/Panel:DisableLerp).
2021
1456
  *
@@ -2025,9 +1460,6 @@ interface Panel {
2025
1460
  * @source https://wiki.facepunch.com/gmod/Panel:LerpPositions
2026
1461
  */
2027
1462
  LerpPositions(self: Panel, speed: number, easeOut: boolean): void;
2028
- }
2029
-
2030
- interface Panel {
2031
1463
  /**
2032
1464
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
2033
1465
  *
@@ -2038,9 +1470,6 @@ interface Panel {
2038
1470
  * @deprecated No longer does anything.
2039
1471
  */
2040
1472
  LoadControlsFromFile(self: Panel, path: string): void;
2041
- }
2042
-
2043
- interface Panel {
2044
1473
  /**
2045
1474
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
2046
1475
  *
@@ -2051,9 +1480,6 @@ interface Panel {
2051
1480
  * @deprecated No longer does anything.
2052
1481
  */
2053
1482
  LoadControlsFromString(self: Panel, data: string): void;
2054
- }
2055
-
2056
- interface Panel {
2057
1483
  /**
2058
1484
  * Loads a .gwen file (created by GWEN Designer) and calls [Panel:LoadGWENString](https://wiki.facepunch.com/gmod/Panel:LoadGWENString) with the contents of the loaded file.
2059
1485
  *
@@ -2063,18 +1489,12 @@ interface Panel {
2063
1489
  * @source https://wiki.facepunch.com/gmod/Panel:LoadGWENFile
2064
1490
  */
2065
1491
  LoadGWENFile(self: Panel, filename: string, path?: string): void;
2066
- }
2067
-
2068
- interface Panel {
2069
1492
  /**
2070
1493
  * Loads controls for the panel from a JSON string.
2071
1494
  * @realm client and menu
2072
1495
  * @source https://wiki.facepunch.com/gmod/Panel:LoadGWENString
2073
1496
  */
2074
1497
  LoadGWENString(self: Panel, str: string): void;
2075
- }
2076
-
2077
- interface Panel {
2078
1498
  /**
2079
1499
  * Sets a new image to be loaded by a [TGAImage](https://wiki.facepunch.com/gmod/TGAImage).
2080
1500
  * @realm client and menu
@@ -2082,18 +1502,12 @@ interface Panel {
2082
1502
  * @deprecated DImage should be used instead (with `.png` or `.jpg` images). `TGAImage` panel has no advantages.
2083
1503
  */
2084
1504
  LoadTGAImage(self: Panel, imageName: string, strPath: string): void;
2085
- }
2086
-
2087
- interface Panel {
2088
1505
  /**
2089
1506
  * Returns the cursor position local to the position of the panel (usually the upper-left corner).
2090
1507
  * @realm client and menu
2091
1508
  * @source https://wiki.facepunch.com/gmod/Panel:LocalCursorPos
2092
1509
  */
2093
1510
  LocalCursorPos(self: Panel): (number, number);
2094
- }
2095
-
2096
- interface Panel {
2097
1511
  /**
2098
1512
  * Takes X and Y coordinates relative to the panel and returns their corresponding positions relative to the screen.
2099
1513
  *
@@ -2110,9 +1524,6 @@ interface Panel {
2110
1524
  * @source https://wiki.facepunch.com/gmod/Panel:LocalToScreen
2111
1525
  */
2112
1526
  LocalToScreen(self: Panel, posX: number, posY: number): (number, number);
2113
- }
2114
-
2115
- interface Panel {
2116
1527
  /**
2117
1528
  * Focuses the panel and enables it to receive input.
2118
1529
  *
@@ -2127,63 +1538,42 @@ interface Panel {
2127
1538
  * @source https://wiki.facepunch.com/gmod/Panel:MakePopup
2128
1539
  */
2129
1540
  MakePopup(self: Panel): void;
2130
- }
2131
-
2132
- interface Panel {
2133
1541
  /**
2134
1542
  * Allows the panel to receive mouse input even if the mouse cursor is outside the bounds of the panel.
2135
1543
  * @realm client and menu
2136
1544
  * @source https://wiki.facepunch.com/gmod/Panel:MouseCapture
2137
1545
  */
2138
1546
  MouseCapture(self: Panel, doCapture: boolean): void;
2139
- }
2140
-
2141
- interface Panel {
2142
1547
  /**
2143
1548
  * Places the panel above the passed panel with the specified offset.
2144
1549
  * @realm client and menu
2145
1550
  * @source https://wiki.facepunch.com/gmod/Panel:MoveAbove
2146
1551
  */
2147
1552
  MoveAbove(self: Panel, panel: Panel, offset?: number): void;
2148
- }
2149
-
2150
- interface Panel {
2151
1553
  /**
2152
1554
  * Places the panel below the passed panel with the specified offset.
2153
1555
  * @realm client and menu
2154
1556
  * @source https://wiki.facepunch.com/gmod/Panel:MoveBelow
2155
1557
  */
2156
1558
  MoveBelow(self: Panel, panel: Panel, offset?: number): void;
2157
- }
2158
-
2159
- interface Panel {
2160
1559
  /**
2161
1560
  * Moves the panel by the specified coordinates using animation.
2162
1561
  * @realm client and menu
2163
1562
  * @source https://wiki.facepunch.com/gmod/Panel:MoveBy
2164
1563
  */
2165
1564
  MoveBy(self: Panel, moveX: number, moveY: number, time: number, delay?: number, ease?: number, callback?: (animData: table, targetPanel: Panel) => void): void;
2166
- }
2167
-
2168
- interface Panel {
2169
1565
  /**
2170
1566
  * Places the panel left to the passed panel with the specified offset.
2171
1567
  * @realm client and menu
2172
1568
  * @source https://wiki.facepunch.com/gmod/Panel:MoveLeftOf
2173
1569
  */
2174
1570
  MoveLeftOf(self: Panel, panel: Panel, offset?: number): void;
2175
- }
2176
-
2177
- interface Panel {
2178
1571
  /**
2179
1572
  * Places the panel right to the passed panel with the specified offset.
2180
1573
  * @realm client and menu
2181
1574
  * @source https://wiki.facepunch.com/gmod/Panel:MoveRightOf
2182
1575
  */
2183
1576
  MoveRightOf(self: Panel, panel: Panel, offset?: number): void;
2184
- }
2185
-
2186
- interface Panel {
2187
1577
  /**
2188
1578
  * Moves the panel to the specified position using animation.
2189
1579
  * **NOTE**: Setting the ease argument to 0 will result in the animation happening instantly, this applies to all MoveTo/SizeTo functions
@@ -2193,45 +1583,30 @@ interface Panel {
2193
1583
  * @source https://wiki.facepunch.com/gmod/Panel:MoveTo
2194
1584
  */
2195
1585
  MoveTo(self: Panel, posX: number, posY: number, time: number, delay?: number, ease?: number, callback?: (animData: table, targetPanel: Panel) => void): void;
2196
- }
2197
-
2198
- interface Panel {
2199
1586
  /**
2200
1587
  * Moves this panel object in front of the specified sibling (child of the same parent) in the render order, and shuffles up the Z-positions of siblings now behind.
2201
1588
  * @realm client and menu
2202
1589
  * @source https://wiki.facepunch.com/gmod/Panel:MoveToAfter
2203
1590
  */
2204
1591
  MoveToAfter(self: Panel, siblingPanel: Panel): boolean;
2205
- }
2206
-
2207
- interface Panel {
2208
1592
  /**
2209
1593
  * Moves the panel object behind all other panels on screen. If the panel has been made a pop-up with [Panel:MakePopup](https://wiki.facepunch.com/gmod/Panel:MakePopup), it will still draw in front of any panels that haven't.
2210
1594
  * @realm client and menu
2211
1595
  * @source https://wiki.facepunch.com/gmod/Panel:MoveToBack
2212
1596
  */
2213
1597
  MoveToBack(self: Panel): void;
2214
- }
2215
-
2216
- interface Panel {
2217
1598
  /**
2218
1599
  * Moves this panel object behind the specified sibling (child of the same parent) in the render order, and shuffles up the [Panel:SetZPos](https://wiki.facepunch.com/gmod/Panel:SetZPos) of siblings now in front.
2219
1600
  * @realm client and menu
2220
1601
  * @source https://wiki.facepunch.com/gmod/Panel:MoveToBefore
2221
1602
  */
2222
1603
  MoveToBefore(self: Panel, siblingPanel: Panel): boolean;
2223
- }
2224
-
2225
- interface Panel {
2226
1604
  /**
2227
1605
  * Moves the panel in front of all other panels on screen. Unless the panel has been made a pop-up using [Panel:MakePopup](https://wiki.facepunch.com/gmod/Panel:MakePopup), it will still draw behind any that have.
2228
1606
  * @realm client and menu
2229
1607
  * @source https://wiki.facepunch.com/gmod/Panel:MoveToFront
2230
1608
  */
2231
1609
  MoveToFront(self: Panel): void;
2232
- }
2233
-
2234
- interface Panel {
2235
1610
  /**
2236
1611
  * Creates a new animation for the panel object.
2237
1612
  *
@@ -2249,9 +1624,6 @@ interface Panel {
2249
1624
  * @source https://wiki.facepunch.com/gmod/Panel:NewAnimation
2250
1625
  */
2251
1626
  NewAnimation(self: Panel, length: number, delay?: number, ease?: number, callback?: (animData: table, targetPanel: Panel) => void): table;
2252
- }
2253
-
2254
- interface Panel {
2255
1627
  /**
2256
1628
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
2257
1629
  *
@@ -2259,9 +1631,6 @@ interface Panel {
2259
1631
  * @source https://wiki.facepunch.com/gmod/Panel:NewObject
2260
1632
  */
2261
1633
  NewObject(self: Panel, objectName: string): void;
2262
- }
2263
-
2264
- interface Panel {
2265
1634
  /**
2266
1635
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
2267
1636
  *
@@ -2269,9 +1638,6 @@ interface Panel {
2269
1638
  * @source https://wiki.facepunch.com/gmod/Panel:NewObjectCallback
2270
1639
  */
2271
1640
  NewObjectCallback(self: Panel, objectName: string, callbackName: string): void;
2272
- }
2273
-
2274
- interface Panel {
2275
1641
  /**
2276
1642
  * Sets whether this panel's drawings should be clipped within the parent panel's bounds.
2277
1643
  *
@@ -2286,18 +1652,12 @@ interface Panel {
2286
1652
  * @source https://wiki.facepunch.com/gmod/Panel:NoClipping
2287
1653
  */
2288
1654
  NoClipping(self: Panel, disableClipping: boolean): void;
2289
- }
2290
-
2291
- interface Panel {
2292
1655
  /**
2293
1656
  * Returns the number of children of the panel object that are selected. This is equivalent to calling [Panel:IsSelected](https://wiki.facepunch.com/gmod/Panel:IsSelected) on all child objects and counting the number of returns that are `true`.
2294
1657
  * @realm client and menu
2295
1658
  * @source https://wiki.facepunch.com/gmod/Panel:NumSelectedChildren
2296
1659
  */
2297
1660
  NumSelectedChildren(self: Panel): number;
2298
- }
2299
-
2300
- interface Panel {
2301
1661
  /**
2302
1662
  * Instructs a HTML control to download and parse a HTML script using the passed URL.
2303
1663
  *
@@ -2306,9 +1666,6 @@ interface Panel {
2306
1666
  * @source https://wiki.facepunch.com/gmod/Panel:OpenURL
2307
1667
  */
2308
1668
  OpenURL(self: Panel, URL: string): void;
2309
- }
2310
-
2311
- interface Panel {
2312
1669
  /**
2313
1670
  * Paints a ghost copy of the panel at the given position.
2314
1671
  * **WARNING**: This function sets Z pos of panel's children ([PANEL:SetZPos](https://wiki.facepunch.com/gmod/PANEL:SetZPos)). It also briefly unparents and reparents the panel.
@@ -2318,18 +1675,12 @@ interface Panel {
2318
1675
  * @source https://wiki.facepunch.com/gmod/Panel:PaintAt
2319
1676
  */
2320
1677
  PaintAt(self: Panel, posX: number, posY: number): void;
2321
- }
2322
-
2323
- interface Panel {
2324
1678
  /**
2325
1679
  * Paints the panel at its current position. To use this you must call [Panel:SetPaintedManually](https://wiki.facepunch.com/gmod/Panel:SetPaintedManually)(true).
2326
1680
  * @realm client and menu
2327
1681
  * @source https://wiki.facepunch.com/gmod/Panel:PaintManual
2328
1682
  */
2329
1683
  PaintManual(self: Panel, unclamp?: boolean): void;
2330
- }
2331
-
2332
- interface Panel {
2333
1684
  /**
2334
1685
  * Parents the panel to the HUD.
2335
1686
  * Makes it invisible on the escape-menu and disables controls.
@@ -2338,9 +1689,6 @@ interface Panel {
2338
1689
  * @source https://wiki.facepunch.com/gmod/Panel:ParentToHUD
2339
1690
  */
2340
1691
  ParentToHUD(self: Panel): void;
2341
- }
2342
-
2343
- interface Panel {
2344
1692
  /**
2345
1693
  * Only works for TextEntries.
2346
1694
  *
@@ -2354,18 +1702,12 @@ interface Panel {
2354
1702
  * @deprecated Due to privacy concerns, this function has been disabled
2355
1703
  */
2356
1704
  Paste(self: Panel): void;
2357
- }
2358
-
2359
- interface Panel {
2360
1705
  /**
2361
1706
  * Sets the width and position of a [DLabel](https://wiki.facepunch.com/gmod/DLabel) and places the passed panel object directly to the right of it. Returns the `y` value of the bottom of the tallest object. The panel on which this method is run is not relevant; only the passed objects are affected.
2362
1707
  * @realm client and menu
2363
1708
  * @source https://wiki.facepunch.com/gmod/Panel:PositionLabel
2364
1709
  */
2365
1710
  PositionLabel(self: Panel, lblWidth: number, x: number, y: number, lbl: Panel, panelObj: Panel): number;
2366
- }
2367
-
2368
- interface Panel {
2369
1711
  /**
2370
1712
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
2371
1713
  *
@@ -2375,27 +1717,18 @@ interface Panel {
2375
1717
  * @source https://wiki.facepunch.com/gmod/Panel:Prepare
2376
1718
  */
2377
1719
  Prepare(self: Panel): void;
2378
- }
2379
-
2380
- interface Panel {
2381
1720
  /**
2382
1721
  * Enables the queue for panel animations. If enabled, the next new animation will begin after all current animations have ended. This must be called before [Panel:NewAnimation](https://wiki.facepunch.com/gmod/Panel:NewAnimation) to work, and only applies to the next new animation. If you want to queue many, you must call this before each.
2383
1722
  * @realm client and menu
2384
1723
  * @source https://wiki.facepunch.com/gmod/Panel:Queue
2385
1724
  */
2386
1725
  Queue(self: Panel): void;
2387
- }
2388
-
2389
- interface Panel {
2390
1726
  /**
2391
1727
  * Causes a [SpawnIcon](https://wiki.facepunch.com/gmod/SpawnIcon) to rebuild its model image.
2392
1728
  * @realm client
2393
1729
  * @source https://wiki.facepunch.com/gmod/Panel:RebuildSpawnIcon
2394
1730
  */
2395
1731
  RebuildSpawnIcon(self: Panel): void;
2396
- }
2397
-
2398
- interface Panel {
2399
1732
  /**
2400
1733
  * Re-renders a spawn icon with customized cam data.
2401
1734
  *
@@ -2408,27 +1741,18 @@ interface Panel {
2408
1741
  * @source https://wiki.facepunch.com/gmod/Panel:RebuildSpawnIconEx
2409
1742
  */
2410
1743
  RebuildSpawnIconEx(self: Panel, data: table): void;
2411
- }
2412
-
2413
- interface Panel {
2414
1744
  /**
2415
1745
  * Allows the panel to receive drag and drop events. Can be called multiple times with different names to receive multiple different draggable panel events.
2416
1746
  * @realm client and menu
2417
1747
  * @source https://wiki.facepunch.com/gmod/Panel:Receiver
2418
1748
  */
2419
1749
  Receiver(self: Panel, name: string, func: (pnl: Panel, tbl: table, dropped: boolean, menuIndex: number, x: number, y: number) => void, menu?: table): void;
2420
- }
2421
-
2422
- interface Panel {
2423
1750
  /**
2424
1751
  * Refreshes the HTML panel's current page.
2425
1752
  * @realm client and menu
2426
1753
  * @source https://wiki.facepunch.com/gmod/Panel:Refresh
2427
1754
  */
2428
1755
  Refresh(self: Panel, ignoreCache?: boolean): void;
2429
- }
2430
-
2431
- interface Panel {
2432
1756
  /**
2433
1757
  * Marks a panel for deletion so it will be deleted on the next frame.
2434
1758
  *
@@ -2442,27 +1766,18 @@ interface Panel {
2442
1766
  * @source https://wiki.facepunch.com/gmod/Panel:Remove
2443
1767
  */
2444
1768
  Remove(self: Panel): void;
2445
- }
2446
-
2447
- interface Panel {
2448
1769
  /**
2449
1770
  * Attempts to obtain focus for this panel.
2450
1771
  * @realm client and menu
2451
1772
  * @source https://wiki.facepunch.com/gmod/Panel:RequestFocus
2452
1773
  */
2453
1774
  RequestFocus(self: Panel): void;
2454
- }
2455
-
2456
- interface Panel {
2457
1775
  /**
2458
1776
  * Resets all text fades in a [RichText](https://wiki.facepunch.com/gmod/RichText) element made with [Panel:InsertFade](https://wiki.facepunch.com/gmod/Panel:InsertFade).
2459
1777
  * @realm client and menu
2460
1778
  * @source https://wiki.facepunch.com/gmod/Panel:ResetAllFades
2461
1779
  */
2462
1780
  ResetAllFades(self: Panel, hold: boolean, expiredOnly: boolean, newSustain: number): void;
2463
- }
2464
-
2465
- interface Panel {
2466
1781
  /**
2467
1782
  * Executes a string as JavaScript code on a web document panel.
2468
1783
  *
@@ -2479,9 +1794,6 @@ interface Panel {
2479
1794
  * @source https://wiki.facepunch.com/gmod/Panel:RunJavascript
2480
1795
  */
2481
1796
  RunJavascript(self: Panel, js: string): void;
2482
- }
2483
-
2484
- interface Panel {
2485
1797
  /**
2486
1798
  * Saves the current state (caret position and the text inside) of a [TextEntry](https://wiki.facepunch.com/gmod/TextEntry) as an undo state.
2487
1799
  *
@@ -2491,9 +1803,6 @@ interface Panel {
2491
1803
  * @source https://wiki.facepunch.com/gmod/Panel:SaveUndoState
2492
1804
  */
2493
1805
  SaveUndoState(self: Panel): void;
2494
- }
2495
-
2496
- interface Panel {
2497
1806
  /**
2498
1807
  * Translates global screen coordinate to coordinates relative to the panel.
2499
1808
  *
@@ -2506,9 +1815,6 @@ interface Panel {
2506
1815
  * @source https://wiki.facepunch.com/gmod/Panel:ScreenToLocal
2507
1816
  */
2508
1817
  ScreenToLocal(self: Panel, screenX: number, screenY: number): (number, number);
2509
- }
2510
-
2511
- interface Panel {
2512
1818
  /**
2513
1819
  * Selects all items within a panel or object. For text-based objects, selects all text.
2514
1820
  *
@@ -2519,18 +1825,12 @@ interface Panel {
2519
1825
  * @source https://wiki.facepunch.com/gmod/Panel:SelectAll
2520
1826
  */
2521
1827
  SelectAll(self: Panel): void;
2522
- }
2523
-
2524
- interface Panel {
2525
1828
  /**
2526
1829
  * If called on a [TextEntry](https://wiki.facepunch.com/gmod/TextEntry), clicking the text entry for the first time will automatically select all of the text ready to be copied by the user.
2527
1830
  * @realm client and menu
2528
1831
  * @source https://wiki.facepunch.com/gmod/Panel:SelectAllOnFocus
2529
1832
  */
2530
1833
  SelectAllOnFocus(self: Panel): void;
2531
- }
2532
-
2533
- interface Panel {
2534
1834
  /**
2535
1835
  * Selects all the text in a panel object. Will not select non-text items; for this, use [Panel:SelectAll](https://wiki.facepunch.com/gmod/Panel:SelectAll).
2536
1836
  * @realm client and menu
@@ -2538,9 +1838,6 @@ interface Panel {
2538
1838
  * @deprecated Duplicate of Panel:SelectAll.
2539
1839
  */
2540
1840
  SelectAllText(self: Panel, resetCursorPos: boolean): void;
2541
- }
2542
-
2543
- interface Panel {
2544
1841
  /**
2545
1842
  * Deselects all items in a panel object. For text-based objects, this will deselect all text.
2546
1843
  *
@@ -2551,18 +1848,12 @@ interface Panel {
2551
1848
  * @source https://wiki.facepunch.com/gmod/Panel:SelectNone
2552
1849
  */
2553
1850
  SelectNone(self: Panel): void;
2554
- }
2555
-
2556
- interface Panel {
2557
1851
  /**
2558
1852
  * Sets the achievement to be displayed by [AchievementIcon](https://wiki.facepunch.com/gmod/AchievementIcon).
2559
1853
  * @realm client and menu
2560
1854
  * @source https://wiki.facepunch.com/gmod/Panel:SetAchievement
2561
1855
  */
2562
1856
  SetAchievement(self: Panel, id: number): void;
2563
- }
2564
-
2565
- interface Panel {
2566
1857
  /**
2567
1858
  * Configures a [TextEntry](https://wiki.facepunch.com/gmod/TextEntry) to allow user to type characters that are not included in the US-ASCII (7-bit ASCII) character set.
2568
1859
  *
@@ -2572,36 +1863,24 @@ interface Panel {
2572
1863
  * @source https://wiki.facepunch.com/gmod/Panel:SetAllowNonAsciiCharacters
2573
1864
  */
2574
1865
  SetAllowNonAsciiCharacters(self: Panel, allowed: boolean): void;
2575
- }
2576
-
2577
- interface Panel {
2578
1866
  /**
2579
1867
  * Sets the alpha multiplier for the panel
2580
1868
  * @realm client and menu
2581
1869
  * @source https://wiki.facepunch.com/gmod/Panel:SetAlpha
2582
1870
  */
2583
1871
  SetAlpha(self: Panel, alpha: number): void;
2584
- }
2585
-
2586
- interface Panel {
2587
1872
  /**
2588
1873
  * Enables or disables animations for the panel object by overriding the [PANEL:AnimationThink](https://wiki.facepunch.com/gmod/PANEL:AnimationThink) hook to nil and back.
2589
1874
  * @realm client and menu
2590
1875
  * @source https://wiki.facepunch.com/gmod/Panel:SetAnimationEnabled
2591
1876
  */
2592
1877
  SetAnimationEnabled(self: Panel, enable: boolean): void;
2593
- }
2594
-
2595
- interface Panel {
2596
1878
  /**
2597
1879
  * Sets whenever the panel should be removed if the parent was removed.
2598
1880
  * @realm client and menu
2599
1881
  * @source https://wiki.facepunch.com/gmod/Panel:SetAutoDelete
2600
1882
  */
2601
1883
  SetAutoDelete(self: Panel, autoDelete: boolean): void;
2602
- }
2603
-
2604
- interface Panel {
2605
1884
  /**
2606
1885
  * Sets the background color of a panel such as a [RichText](https://wiki.facepunch.com/gmod/RichText), [Label](https://wiki.facepunch.com/gmod/Label), [DColorCube](https://wiki.facepunch.com/gmod/DColorCube) or the base [Panel](https://wiki.facepunch.com/gmod/Panel).
2607
1886
  *
@@ -2618,13 +1897,7 @@ interface Panel {
2618
1897
  * @source https://wiki.facepunch.com/gmod/Panel:SetBGColor
2619
1898
  */
2620
1899
  SetBGColor(self: Panel, r: number, g: number, b: number, a: number): void;
2621
- }
2622
-
2623
- interface Panel {
2624
1900
  SetBGColor(self: Panel, color: Color): void;
2625
- }
2626
-
2627
- interface Panel {
2628
1901
  /**
2629
1902
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
2630
1903
  * Sets the background color of the panel.
@@ -2632,18 +1905,12 @@ interface Panel {
2632
1905
  * @source https://wiki.facepunch.com/gmod/Panel:SetBGColorEx
2633
1906
  */
2634
1907
  SetBGColorEx(self: Panel, r: number, g: number, b: number, a: number): void;
2635
- }
2636
-
2637
- interface Panel {
2638
1908
  /**
2639
1909
  * Sets the position of the caret (or text cursor) in a text-based panel object.
2640
1910
  * @realm client and menu
2641
1911
  * @source https://wiki.facepunch.com/gmod/Panel:SetCaretPos
2642
1912
  */
2643
1913
  SetCaretPos(self: Panel, offset: number): void;
2644
- }
2645
-
2646
- interface Panel {
2647
1914
  /**
2648
1915
  * **WARNING**: This function does not exist on all panels
2649
1916
  *
@@ -2660,9 +1927,6 @@ interface Panel {
2660
1927
  * @source https://wiki.facepunch.com/gmod/Panel:SetConVar
2661
1928
  */
2662
1929
  SetConVar(self: Panel, convar: string): void;
2663
- }
2664
-
2665
- interface Panel {
2666
1930
  /**
2667
1931
  * Sets the alignment of the contents.
2668
1932
  *
@@ -2675,9 +1939,6 @@ interface Panel {
2675
1939
  * @source https://wiki.facepunch.com/gmod/Panel:SetContentAlignment
2676
1940
  */
2677
1941
  SetContentAlignment(self: Panel, alignment: number): void;
2678
- }
2679
-
2680
- interface Panel {
2681
1942
  /**
2682
1943
  * Stores a string in the named cookie using [Panel:GetCookieName](https://wiki.facepunch.com/gmod/Panel:GetCookieName) as prefix.
2683
1944
  *
@@ -2695,18 +1956,12 @@ interface Panel {
2695
1956
  * @source https://wiki.facepunch.com/gmod/Panel:SetCookie
2696
1957
  */
2697
1958
  SetCookie(self: Panel, cookieName: string, value: string): void;
2698
- }
2699
-
2700
- interface Panel {
2701
1959
  /**
2702
1960
  * Sets the panel's cookie name. Calls [PANEL:LoadCookies](https://wiki.facepunch.com/gmod/PANEL:LoadCookies) if defined.
2703
1961
  * @realm client and menu
2704
1962
  * @source https://wiki.facepunch.com/gmod/Panel:SetCookieName
2705
1963
  */
2706
1964
  SetCookieName(self: Panel, name: string): void;
2707
- }
2708
-
2709
- interface Panel {
2710
1965
  /**
2711
1966
  * Sets the appearance of the cursor. You can find a list of all available cursors with image previews [here](https://wiki.facepunch.com/gmod/Cursors).
2712
1967
  *
@@ -2714,9 +1969,6 @@ interface Panel {
2714
1969
  * @source https://wiki.facepunch.com/gmod/Panel:SetCursor
2715
1970
  */
2716
1971
  SetCursor(self: Panel, cursor: string): void;
2717
- }
2718
-
2719
- interface Panel {
2720
1972
  /**
2721
1973
  * Sets the drag parent.
2722
1974
  *
@@ -2726,9 +1978,6 @@ interface Panel {
2726
1978
  * @source https://wiki.facepunch.com/gmod/Panel:SetDragParent
2727
1979
  */
2728
1980
  SetDragParent(self: Panel, parent: Panel): void;
2729
- }
2730
-
2731
- interface Panel {
2732
1981
  /**
2733
1982
  * Sets the visibility of the language selection box when typing in non-English mode.
2734
1983
  *
@@ -2738,9 +1987,6 @@ interface Panel {
2738
1987
  * @source https://wiki.facepunch.com/gmod/Panel:SetDrawLanguageID
2739
1988
  */
2740
1989
  SetDrawLanguageID(self: Panel, visible: boolean): void;
2741
- }
2742
-
2743
- interface Panel {
2744
1990
  /**
2745
1991
  * Sets where to draw the language selection box.
2746
1992
  *
@@ -2750,9 +1996,6 @@ interface Panel {
2750
1996
  * @source https://wiki.facepunch.com/gmod/Panel:SetDrawLanguageIDAtLeft
2751
1997
  */
2752
1998
  SetDrawLanguageIDAtLeft(self: Panel, left: boolean): void;
2753
- }
2754
-
2755
- interface Panel {
2756
1999
  /**
2757
2000
  * Makes the panel render in front of all others, including the spawn menu and main menu.
2758
2001
  *
@@ -2770,9 +2013,6 @@ interface Panel {
2770
2013
  * @source https://wiki.facepunch.com/gmod/Panel:SetDrawOnTop
2771
2014
  */
2772
2015
  SetDrawOnTop(self: Panel, drawOnTop?: boolean): void;
2773
- }
2774
-
2775
- interface Panel {
2776
2016
  /**
2777
2017
  * Sets the target area for dropping when an object is being dragged around this panel using the [dragndrop](https://wiki.facepunch.com/gmod/dragndrop).
2778
2018
  *
@@ -2782,9 +2022,6 @@ interface Panel {
2782
2022
  * @source https://wiki.facepunch.com/gmod/Panel:SetDropTarget
2783
2023
  */
2784
2024
  SetDropTarget(self: Panel, x: number, y: number, width: number, height: number): void;
2785
- }
2786
-
2787
- interface Panel {
2788
2025
  /**
2789
2026
  * Sets the enabled state of a panel object that supports being disabled, such as a [DButton](https://wiki.facepunch.com/gmod/DButton) or [DTextEntry](https://wiki.facepunch.com/gmod/DTextEntry).
2790
2027
  *
@@ -2796,9 +2033,6 @@ interface Panel {
2796
2033
  * @source https://wiki.facepunch.com/gmod/Panel:SetEnabled
2797
2034
  */
2798
2035
  SetEnabled(self: Panel, enable: boolean): void;
2799
- }
2800
-
2801
- interface Panel {
2802
2036
  /**
2803
2037
  * Adds a shadow falling to the bottom right corner of the panel's text.
2804
2038
  *
@@ -2809,9 +2043,6 @@ interface Panel {
2809
2043
  * @source https://wiki.facepunch.com/gmod/Panel:SetExpensiveShadow
2810
2044
  */
2811
2045
  SetExpensiveShadow(self: Panel, distance: number, Color: Color): void;
2812
- }
2813
-
2814
- interface Panel {
2815
2046
  /**
2816
2047
  * Sets the foreground color of a panel.
2817
2048
  *
@@ -2830,13 +2061,7 @@ interface Panel {
2830
2061
  * @source https://wiki.facepunch.com/gmod/Panel:SetFGColor
2831
2062
  */
2832
2063
  SetFGColor(self: Panel, r: number, g: number, b: number, a: number): void;
2833
- }
2834
-
2835
- interface Panel {
2836
2064
  SetFGColor(self: Panel, color: Color): void;
2837
- }
2838
-
2839
- interface Panel {
2840
2065
  /**
2841
2066
  * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
2842
2067
  * Sets the foreground color of the panel.
@@ -2847,9 +2072,6 @@ interface Panel {
2847
2072
  * @source https://wiki.facepunch.com/gmod/Panel:SetFGColorEx
2848
2073
  */
2849
2074
  SetFGColorEx(self: Panel, r: number, g: number, b: number, a: number): void;
2850
- }
2851
-
2852
- interface Panel {
2853
2075
  /**
2854
2076
  * Sets the panel that owns this FocusNavGroup to be the root in the focus traversal hierarchy. This function will only work on EditablePanel class panels and its derivatives.
2855
2077
  *
@@ -2859,9 +2081,6 @@ interface Panel {
2859
2081
  * @source https://wiki.facepunch.com/gmod/Panel:SetFocusTopLevel
2860
2082
  */
2861
2083
  SetFocusTopLevel(self: Panel, state: boolean): void;
2862
- }
2863
-
2864
- interface Panel {
2865
2084
  /**
2866
2085
  * Sets the font used to render this panel's text. This works for [Label](https://wiki.facepunch.com/gmod/Label), [TextEntry](https://wiki.facepunch.com/gmod/TextEntry) and [RichText](https://wiki.facepunch.com/gmod/RichText), but it's a better idea to use their local `SetFont` ([DTextEntry:SetFont](https://wiki.facepunch.com/gmod/DTextEntry:SetFont), [DLabel:SetFont](https://wiki.facepunch.com/gmod/DLabel:SetFont)) methods when available.
2867
2086
  *
@@ -2871,18 +2090,12 @@ interface Panel {
2871
2090
  * @source https://wiki.facepunch.com/gmod/Panel:SetFontInternal
2872
2091
  */
2873
2092
  SetFontInternal(self: Panel, fontName: string): void;
2874
- }
2875
-
2876
- interface Panel {
2877
2093
  /**
2878
2094
  * Allows you to set HTML code within a panel.
2879
2095
  * @realm client and menu
2880
2096
  * @source https://wiki.facepunch.com/gmod/Panel:SetHTML
2881
2097
  */
2882
2098
  SetHTML(self: Panel, HTML: string): void;
2883
- }
2884
-
2885
- interface Panel {
2886
2099
  /**
2887
2100
  * Sets the height of the panel.
2888
2101
  *
@@ -2895,9 +2108,6 @@ interface Panel {
2895
2108
  * @source https://wiki.facepunch.com/gmod/Panel:SetHeight
2896
2109
  */
2897
2110
  SetHeight(self: Panel, height: number): void;
2898
- }
2899
-
2900
- interface Panel {
2901
2111
  /**
2902
2112
  * Enables or disables the keyboard input for the panel.
2903
2113
  * @realm client and menu
@@ -2905,18 +2115,12 @@ interface Panel {
2905
2115
  * @deprecated Alias of Panel:SetKeyboardInputEnabled(lowercase)
2906
2116
  */
2907
2117
  SetKeyBoardInputEnabled(self: Panel, keyboardInput: boolean): void;
2908
- }
2909
-
2910
- interface Panel {
2911
2118
  /**
2912
2119
  * Allows or disallows the panel to receive keyboard focus and input. This is recursively applied to all children.
2913
2120
  * @realm client
2914
2121
  * @source https://wiki.facepunch.com/gmod/Panel:SetKeyboardInputEnabled(lowercase)
2915
2122
  */
2916
2123
  SetKeyboardInputEnabled(self: Panel, enable: boolean): void;
2917
- }
2918
-
2919
- interface Panel {
2920
2124
  /**
2921
2125
  * Sets the height of a single line of a [RichText](https://wiki.facepunch.com/gmod/RichText) panel.
2922
2126
  *
@@ -2924,9 +2128,6 @@ interface Panel {
2924
2128
  * @source https://wiki.facepunch.com/gmod/Panel:SetLineHeight
2925
2129
  */
2926
2130
  SetLineHeight(self: Panel): number;
2927
- }
2928
-
2929
- interface Panel {
2930
2131
  /**
2931
2132
  * Sets the maximum character count this panel should have.
2932
2133
  *
@@ -2936,9 +2137,6 @@ interface Panel {
2936
2137
  * @source https://wiki.facepunch.com/gmod/Panel:SetMaximumCharCount
2937
2138
  */
2938
2139
  SetMaximumCharCount(self: Panel, maxChar: number): void;
2939
- }
2940
-
2941
- interface Panel {
2942
2140
  /**
2943
2141
  * Sets the minimum dimensions of the panel or object.
2944
2142
  *
@@ -2950,9 +2148,6 @@ interface Panel {
2950
2148
  * @source https://wiki.facepunch.com/gmod/Panel:SetMinimumSize
2951
2149
  */
2952
2150
  SetMinimumSize(self: Panel, minW?: number, minH?: number): void;
2953
- }
2954
-
2955
- interface Panel {
2956
2151
  /**
2957
2152
  * Sets the model to be displayed by [SpawnIcon](https://wiki.facepunch.com/gmod/SpawnIcon).
2958
2153
  *
@@ -2963,9 +2158,6 @@ interface Panel {
2963
2158
  * @source https://wiki.facepunch.com/gmod/Panel:SetModel
2964
2159
  */
2965
2160
  SetModel(self: Panel, ModelPath: string, skin?: number, bodygroups?: string): void;
2966
- }
2967
-
2968
- interface Panel {
2969
2161
  /**
2970
2162
  * Enables or disables the mouse input for the panel.
2971
2163
  * **NOTE**: Panels parented to the context menu will not be clickable unless [Panel:SetKeyboardInputEnabled](https://wiki.facepunch.com/gmod/Panel:SetKeyboardInputEnabled(lowercase)) is enabled or [Panel:MakePopup](https://wiki.facepunch.com/gmod/Panel:MakePopup) has been called. If you want the panel to have mouse input but you do not want to prevent players from moving, set [Panel:SetKeyboardInputEnabled](https://wiki.facepunch.com/gmod/Panel:SetKeyboardInputEnabled(lowercase)) to false immediately after calling [Panel:MakePopup](https://wiki.facepunch.com/gmod/Panel:MakePopup).
@@ -2975,63 +2167,42 @@ interface Panel {
2975
2167
  * @source https://wiki.facepunch.com/gmod/Panel:SetMouseInputEnabled
2976
2168
  */
2977
2169
  SetMouseInputEnabled(self: Panel, mouseInput: boolean): void;
2978
- }
2979
-
2980
- interface Panel {
2981
2170
  /**
2982
2171
  * Enables or disables the multi-line functionality of [TextEntry](https://wiki.facepunch.com/gmod/TextEntry) panel and its derivatives.
2983
2172
  * @realm client and menu
2984
2173
  * @source https://wiki.facepunch.com/gmod/Panel:SetMultiline
2985
2174
  */
2986
2175
  SetMultiline(self: Panel, multiline: boolean): void;
2987
- }
2988
-
2989
- interface Panel {
2990
2176
  /**
2991
2177
  * Sets the internal name of the panel. Can be retrieved with [Panel:GetName](https://wiki.facepunch.com/gmod/Panel:GetName).
2992
2178
  * @realm client and menu
2993
2179
  * @source https://wiki.facepunch.com/gmod/Panel:SetName
2994
2180
  */
2995
2181
  SetName(self: Panel, name: string): void;
2996
- }
2997
-
2998
- interface Panel {
2999
2182
  /**
3000
2183
  * Set to true to open links in an external browser. This only functions on the `x86-64` beta.
3001
2184
  * @realm menu
3002
2185
  * @source https://wiki.facepunch.com/gmod/Panel:SetOpenLinksExternally
3003
2186
  */
3004
2187
  SetOpenLinksExternally(self: Panel, openExternally: boolean): void;
3005
- }
3006
-
3007
- interface Panel {
3008
2188
  /**
3009
2189
  * Sets whether the default background of the panel should be drawn or not. It's color is usually set by [Panel:SetBGColor](https://wiki.facepunch.com/gmod/Panel:SetBGColor).
3010
2190
  * @realm client and menu
3011
2191
  * @source https://wiki.facepunch.com/gmod/Panel:SetPaintBackgroundEnabled
3012
2192
  */
3013
2193
  SetPaintBackgroundEnabled(self: Panel, paintBackground: boolean): void;
3014
- }
3015
-
3016
- interface Panel {
3017
2194
  /**
3018
2195
  * Sets whether the default border of the panel should be drawn or not.
3019
2196
  * @realm client and menu
3020
2197
  * @source https://wiki.facepunch.com/gmod/Panel:SetPaintBorderEnabled
3021
2198
  */
3022
2199
  SetPaintBorderEnabled(self: Panel, paintBorder: boolean): void;
3023
- }
3024
-
3025
- interface Panel {
3026
2200
  /**
3027
2201
  * Enables or disables painting of the panel manually with [Panel:PaintManual](https://wiki.facepunch.com/gmod/Panel:PaintManual).
3028
2202
  * @realm client and menu
3029
2203
  * @source https://wiki.facepunch.com/gmod/Panel:SetPaintedManually
3030
2204
  */
3031
2205
  SetPaintedManually(self: Panel, paintedManually: boolean): void;
3032
- }
3033
-
3034
- interface Panel {
3035
2206
  /**
3036
2207
  * Sets the parent of the panel.
3037
2208
  * **NOTE**: Panels parented to the context menu will not be clickable unless [Panel:SetMouseInputEnabled](https://wiki.facepunch.com/gmod/Panel:SetMouseInputEnabled) and [Panel:SetKeyboardInputEnabled](https://wiki.facepunch.com/gmod/Panel:SetKeyboardInputEnabled(lowercase)) are both true or [Panel:MakePopup](https://wiki.facepunch.com/gmod/Panel:MakePopup) has been called. If you want the panel to have mouse input but you do not want to prevent players from moving, set [Panel:SetKeyboardInputEnabled](https://wiki.facepunch.com/gmod/Panel:SetKeyboardInputEnabled(lowercase)) to false immediately after calling [Panel:MakePopup](https://wiki.facepunch.com/gmod/Panel:MakePopup).
@@ -3041,27 +2212,18 @@ interface Panel {
3041
2212
  * @source https://wiki.facepunch.com/gmod/Panel:SetParent
3042
2213
  */
3043
2214
  SetParent(self: Panel, parent: Panel): void;
3044
- }
3045
-
3046
- interface Panel {
3047
2215
  /**
3048
2216
  * Used by [AvatarImage](https://wiki.facepunch.com/gmod/AvatarImage) to load an avatar for given player.
3049
2217
  * @realm client
3050
2218
  * @source https://wiki.facepunch.com/gmod/Panel:SetPlayer
3051
2219
  */
3052
2220
  SetPlayer(self: Panel, player: Player, size?: number): void;
3053
- }
3054
-
3055
- interface Panel {
3056
2221
  /**
3057
2222
  * If this panel object has been made a popup with [Panel:MakePopup](https://wiki.facepunch.com/gmod/Panel:MakePopup), this method will prevent it from drawing in front of other panels when it receives input focus.
3058
2223
  * @realm client and menu
3059
2224
  * @source https://wiki.facepunch.com/gmod/Panel:SetPopupStayAtBack
3060
2225
  */
3061
2226
  SetPopupStayAtBack(self: Panel, stayAtBack: boolean): void;
3062
- }
3063
-
3064
- interface Panel {
3065
2227
  /**
3066
2228
  * Sets the position of the panel's top left corner.
3067
2229
  *
@@ -3076,45 +2238,30 @@ interface Panel {
3076
2238
  * @source https://wiki.facepunch.com/gmod/Panel:SetPos
3077
2239
  */
3078
2240
  SetPos(self: Panel, posX: number, posY: number): void;
3079
- }
3080
-
3081
- interface Panel {
3082
2241
  /**
3083
2242
  * Sets whenever the panel should be rendered in a screenshot. (`jpeg` or `screenshot` commands, Camera SWEP)
3084
2243
  * @realm client and menu
3085
2244
  * @source https://wiki.facepunch.com/gmod/Panel:SetRenderInScreenshots
3086
2245
  */
3087
2246
  SetRenderInScreenshots(self: Panel, renderInScreenshot: boolean): void;
3088
- }
3089
-
3090
- interface Panel {
3091
2247
  /**
3092
2248
  * Sets whether the panel object can be selected or not (like icons in the Spawn Menu, holding Shift). If enabled, this will affect the function of a [DButton](https://wiki.facepunch.com/gmod/DButton) whilst Shift is pressed. [Panel:SetSelected](https://wiki.facepunch.com/gmod/Panel:SetSelected) can be used to select/deselect the object.
3093
2249
  * @realm client and menu
3094
2250
  * @source https://wiki.facepunch.com/gmod/Panel:SetSelectable
3095
2251
  */
3096
2252
  SetSelectable(self: Panel, selectable: boolean): void;
3097
- }
3098
-
3099
- interface Panel {
3100
2253
  /**
3101
2254
  * Sets the selected state of a selectable panel object. This functionality is set with [Panel:SetSelectable](https://wiki.facepunch.com/gmod/Panel:SetSelectable) and checked with [Panel:IsSelectable](https://wiki.facepunch.com/gmod/Panel:IsSelectable).
3102
2255
  * @realm client and menu
3103
2256
  * @source https://wiki.facepunch.com/gmod/Panel:SetSelected
3104
2257
  */
3105
2258
  SetSelected(self: Panel, selected?: boolean): void;
3106
- }
3107
-
3108
- interface Panel {
3109
2259
  /**
3110
2260
  * Enables the panel object for selection (much like the spawn menu).
3111
2261
  * @realm client and menu
3112
2262
  * @source https://wiki.facepunch.com/gmod/Panel:SetSelectionCanvas
3113
2263
  */
3114
2264
  SetSelectionCanvas(self: Panel, set: boolean): void;
3115
- }
3116
-
3117
- interface Panel {
3118
2265
  /**
3119
2266
  * Sets the size of the panel.
3120
2267
  *
@@ -3131,18 +2278,12 @@ interface Panel {
3131
2278
  * @source https://wiki.facepunch.com/gmod/Panel:SetSize
3132
2279
  */
3133
2280
  SetSize(self: Panel, width: number, height: number): void;
3134
- }
3135
-
3136
- interface Panel {
3137
2281
  /**
3138
2282
  * Sets the derma skin that the panel object will use, and refreshes all panels with [derma.RefreshSkins](https://wiki.facepunch.com/gmod/derma.RefreshSkins).
3139
2283
  * @realm client and menu
3140
2284
  * @source https://wiki.facepunch.com/gmod/Panel:SetSkin
3141
2285
  */
3142
2286
  SetSkin(self: Panel, skinName: string): void;
3143
- }
3144
-
3145
- interface Panel {
3146
2287
  /**
3147
2288
  * Sets the `.png` image to be displayed on a [SpawnIcon](https://wiki.facepunch.com/gmod/SpawnIcon) or the panel it is based on - [ModelImage](https://wiki.facepunch.com/gmod/ModelImage).
3148
2289
  *
@@ -3152,18 +2293,12 @@ interface Panel {
3152
2293
  * @source https://wiki.facepunch.com/gmod/Panel:SetSpawnIcon
3153
2294
  */
3154
2295
  SetSpawnIcon(self: Panel, icon: string): void;
3155
- }
3156
-
3157
- interface Panel {
3158
2296
  /**
3159
2297
  * Used by [AvatarImage](https://wiki.facepunch.com/gmod/AvatarImage) panels to load an avatar by its 64-bit Steam ID (community ID).
3160
2298
  * @realm client
3161
2299
  * @source https://wiki.facepunch.com/gmod/Panel:SetSteamID
3162
2300
  */
3163
2301
  SetSteamID(self: Panel, steamid: string, size: number): void;
3164
- }
3165
-
3166
- interface Panel {
3167
2302
  /**
3168
2303
  * When TAB is pressed, the next selectable panel in the number sequence is selected.
3169
2304
  *
@@ -3174,18 +2309,12 @@ interface Panel {
3174
2309
  * @source https://wiki.facepunch.com/gmod/Panel:SetTabPosition
3175
2310
  */
3176
2311
  SetTabPosition(self: Panel, position: number): void;
3177
- }
3178
-
3179
- interface Panel {
3180
2312
  /**
3181
2313
  * Sets height of a panel. An alias of [Panel:SetHeight](https://wiki.facepunch.com/gmod/Panel:SetHeight).
3182
2314
  * @realm client and menu
3183
2315
  * @source https://wiki.facepunch.com/gmod/Panel:SetTall
3184
2316
  */
3185
2317
  SetTall(self: Panel, height: number): void;
3186
- }
3187
-
3188
- interface Panel {
3189
2318
  /**
3190
2319
  * Removes the panel after given time in seconds.
3191
2320
  * **NOTE**: This function will not work if [PANEL:AnimationThink](https://wiki.facepunch.com/gmod/PANEL:AnimationThink) is overridden, unless [Panel:AnimationThinkInternal](https://wiki.facepunch.com/gmod/Panel:AnimationThinkInternal) is called every frame.
@@ -3195,9 +2324,6 @@ interface Panel {
3195
2324
  * @source https://wiki.facepunch.com/gmod/Panel:SetTerm
3196
2325
  */
3197
2326
  SetTerm(self: Panel, delay: number): void;
3198
- }
3199
-
3200
- interface Panel {
3201
2327
  /**
3202
2328
  * Sets the text value of a panel object containing text, such as a [Label](https://wiki.facepunch.com/gmod/Label), [TextEntry](https://wiki.facepunch.com/gmod/TextEntry) or [RichText](https://wiki.facepunch.com/gmod/RichText) and their derivatives, such as [DLabel](https://wiki.facepunch.com/gmod/DLabel), [DTextEntry](https://wiki.facepunch.com/gmod/DTextEntry) or [DButton](https://wiki.facepunch.com/gmod/DButton).
3203
2329
  *
@@ -3213,9 +2339,6 @@ interface Panel {
3213
2339
  * @source https://wiki.facepunch.com/gmod/Panel:SetText
3214
2340
  */
3215
2341
  SetText(self: Panel, text: string): void;
3216
- }
3217
-
3218
- interface Panel {
3219
2342
  /**
3220
2343
  * Makes [TextEntry](https://wiki.facepunch.com/gmod/TextEntry)'s text be replaced by `*` characters, just like a password-entry text field would.
3221
2344
  *
@@ -3223,27 +2346,18 @@ interface Panel {
3223
2346
  * @source https://wiki.facepunch.com/gmod/Panel:SetTextHidden
3224
2347
  */
3225
2348
  SetTextHidden(self: Panel, arg0: boolean): void;
3226
- }
3227
-
3228
- interface Panel {
3229
2349
  /**
3230
2350
  * Sets the left and top text margins of a text-based panel object, such as a [DButton](https://wiki.facepunch.com/gmod/DButton) or [DLabel](https://wiki.facepunch.com/gmod/DLabel).
3231
2351
  * @realm client and menu
3232
2352
  * @source https://wiki.facepunch.com/gmod/Panel:SetTextInset
3233
2353
  */
3234
2354
  SetTextInset(self: Panel, insetX: number, insetY: number): void;
3235
- }
3236
-
3237
- interface Panel {
3238
2355
  /**
3239
2356
  * Sets text selection colors of a [RichText](https://wiki.facepunch.com/gmod/RichText) element.
3240
2357
  * @realm client and menu
3241
2358
  * @source https://wiki.facepunch.com/gmod/Panel:SetTextSelectionColors
3242
2359
  */
3243
2360
  SetTextSelectionColors(self: Panel, textColor: Color, backgroundColor: Color): void;
3244
- }
3245
-
3246
- interface Panel {
3247
2361
  /**
3248
2362
  * Sets the height of a [RichText](https://wiki.facepunch.com/gmod/RichText) element to accommodate the text inside.
3249
2363
  *
@@ -3254,9 +2368,6 @@ interface Panel {
3254
2368
  * @source https://wiki.facepunch.com/gmod/Panel:SetToFullHeight
3255
2369
  */
3256
2370
  SetToFullHeight(self: Panel): void;
3257
- }
3258
-
3259
- interface Panel {
3260
2371
  /**
3261
2372
  * Sets the tooltip to be displayed when a player hovers over the panel object with their cursor.
3262
2373
  *
@@ -3266,9 +2377,6 @@ interface Panel {
3266
2377
  * @source https://wiki.facepunch.com/gmod/Panel:SetTooltip
3267
2378
  */
3268
2379
  SetTooltip(self: Panel, str?: string): void;
3269
- }
3270
-
3271
- interface Panel {
3272
2380
  /**
3273
2381
  * Sets the tooltip delay. (time between hovering over the panel, and the tooltip showing up)
3274
2382
  *
@@ -3278,9 +2386,6 @@ interface Panel {
3278
2386
  * @source https://wiki.facepunch.com/gmod/Panel:SetTooltipDelay
3279
2387
  */
3280
2388
  SetTooltipDelay(self: Panel, tooltip: number): void;
3281
- }
3282
-
3283
- interface Panel {
3284
2389
  /**
3285
2390
  * Sets the panel to be displayed as contents of a [DTooltip](https://wiki.facepunch.com/gmod/DTooltip) when a player hovers over the panel object with their cursor. See [Panel:SetTooltipPanelOverride](https://wiki.facepunch.com/gmod/Panel:SetTooltipPanelOverride) if you are looking to override [DTooltip](https://wiki.facepunch.com/gmod/DTooltip) itself.
3286
2391
  *
@@ -3296,9 +2401,6 @@ interface Panel {
3296
2401
  * @source https://wiki.facepunch.com/gmod/Panel:SetTooltipPanel
3297
2402
  */
3298
2403
  SetTooltipPanel(self: Panel, tooltipPanel?: Panel): void;
3299
- }
3300
-
3301
- interface Panel {
3302
2404
  /**
3303
2405
  * Sets the panel class to be created instead of [DTooltip](https://wiki.facepunch.com/gmod/DTooltip) when the player hovers over this panel and a tooltip needs creating.
3304
2406
  *
@@ -3306,18 +2408,12 @@ interface Panel {
3306
2408
  * @source https://wiki.facepunch.com/gmod/Panel:SetTooltipPanelOverride
3307
2409
  */
3308
2410
  SetTooltipPanelOverride(self: Panel, override: string): void;
3309
- }
3310
-
3311
- interface Panel {
3312
2411
  /**
3313
2412
  * Sets the URL of a link-based panel such as [DLabelURL](https://wiki.facepunch.com/gmod/DLabelURL).
3314
2413
  * @realm client and menu
3315
2414
  * @source https://wiki.facepunch.com/gmod/Panel:SetURL
3316
2415
  */
3317
2416
  SetURL(self: Panel, url: string): void;
3318
- }
3319
-
3320
- interface Panel {
3321
2417
  /**
3322
2418
  * Sets the underlined font for use by clickable text in a [RichText](https://wiki.facepunch.com/gmod/RichText). See also [Panel:InsertClickableTextStart](https://wiki.facepunch.com/gmod/Panel:InsertClickableTextStart)
3323
2419
  *
@@ -3327,9 +2423,6 @@ interface Panel {
3327
2423
  * @source https://wiki.facepunch.com/gmod/Panel:SetUnderlineFont
3328
2424
  */
3329
2425
  SetUnderlineFont(self: Panel, fontName: string): void;
3330
- }
3331
-
3332
- interface Panel {
3333
2426
  /**
3334
2427
  * Sets the visibility of the vertical scrollbar.
3335
2428
  *
@@ -3339,27 +2432,18 @@ interface Panel {
3339
2432
  * @source https://wiki.facepunch.com/gmod/Panel:SetVerticalScrollbarEnabled
3340
2433
  */
3341
2434
  SetVerticalScrollbarEnabled(self: Panel, display?: boolean): void;
3342
- }
3343
-
3344
- interface Panel {
3345
2435
  /**
3346
2436
  * Sets the "visibility" of the panel.
3347
2437
  * @realm client and menu
3348
2438
  * @source https://wiki.facepunch.com/gmod/Panel:SetVisible
3349
2439
  */
3350
2440
  SetVisible(self: Panel, visible: boolean): void;
3351
- }
3352
-
3353
- interface Panel {
3354
2441
  /**
3355
2442
  * Sets width of a panel. An alias of [Panel:SetWidth](https://wiki.facepunch.com/gmod/Panel:SetWidth).
3356
2443
  * @realm client and menu
3357
2444
  * @source https://wiki.facepunch.com/gmod/Panel:SetWide
3358
2445
  */
3359
2446
  SetWide(self: Panel, width: number): void;
3360
- }
3361
-
3362
- interface Panel {
3363
2447
  /**
3364
2448
  * Sets the width of the panel.
3365
2449
  *
@@ -3372,9 +2456,6 @@ interface Panel {
3372
2456
  * @source https://wiki.facepunch.com/gmod/Panel:SetWidth
3373
2457
  */
3374
2458
  SetWidth(self: Panel, width: number): void;
3375
- }
3376
-
3377
- interface Panel {
3378
2459
  /**
3379
2460
  * This makes it so that when you're hovering over this panel you can "click" on the world. Your weapon aim (and its viewmodel) will follow the cursor. This is primarily used for the Sandbox context menu.
3380
2461
  *
@@ -3382,9 +2463,6 @@ interface Panel {
3382
2463
  * @source https://wiki.facepunch.com/gmod/Panel:SetWorldClicker
3383
2464
  */
3384
2465
  SetWorldClicker(self: Panel, enable: boolean): void;
3385
- }
3386
-
3387
- interface Panel {
3388
2466
  /**
3389
2467
  * Sets whether text wrapping should be enabled or disabled on [Label](https://wiki.facepunch.com/gmod/Label) and [DLabel](https://wiki.facepunch.com/gmod/DLabel) panels.
3390
2468
  *
@@ -3394,9 +2472,6 @@ interface Panel {
3394
2472
  * @source https://wiki.facepunch.com/gmod/Panel:SetWrap
3395
2473
  */
3396
2474
  SetWrap(self: Panel, wrap: boolean): void;
3397
- }
3398
-
3399
- interface Panel {
3400
2475
  /**
3401
2476
  * Sets the X position of the panel.
3402
2477
  *
@@ -3406,9 +2481,6 @@ interface Panel {
3406
2481
  * @source https://wiki.facepunch.com/gmod/Panel:SetX
3407
2482
  */
3408
2483
  SetX(self: Panel, x: number): void;
3409
- }
3410
-
3411
- interface Panel {
3412
2484
  /**
3413
2485
  * Sets the Y position of the panel.
3414
2486
  *
@@ -3418,9 +2490,6 @@ interface Panel {
3418
2490
  * @source https://wiki.facepunch.com/gmod/Panel:SetY
3419
2491
  */
3420
2492
  SetY(self: Panel, y: number): void;
3421
- }
3422
-
3423
- interface Panel {
3424
2493
  /**
3425
2494
  * Sets the panels z position which determines the rendering order.
3426
2495
  *
@@ -3432,27 +2501,18 @@ interface Panel {
3432
2501
  * @source https://wiki.facepunch.com/gmod/Panel:SetZPos
3433
2502
  */
3434
2503
  SetZPos(self: Panel, zIndex: number): void;
3435
- }
3436
-
3437
- interface Panel {
3438
2504
  /**
3439
2505
  * Makes a panel visible.
3440
2506
  * @realm client and menu
3441
2507
  * @source https://wiki.facepunch.com/gmod/Panel:Show
3442
2508
  */
3443
2509
  Show(self: Panel): void;
3444
- }
3445
-
3446
- interface Panel {
3447
2510
  /**
3448
2511
  * Uses animation to resize the panel to the specified size.
3449
2512
  * @realm client and menu
3450
2513
  * @source https://wiki.facepunch.com/gmod/Panel:SizeTo
3451
2514
  */
3452
2515
  SizeTo(self: Panel, sizeW?: number, sizeH?: number, time?: number, delay?: number, ease?: number, callback?: (animData: table, targetPanel: Panel) => void): void;
3453
- }
3454
-
3455
- interface Panel {
3456
2516
  /**
3457
2517
  * Resizes the panel to fit the bounds of its children.
3458
2518
  *
@@ -3465,9 +2525,6 @@ interface Panel {
3465
2525
  * @source https://wiki.facepunch.com/gmod/Panel:SizeToChildren
3466
2526
  */
3467
2527
  SizeToChildren(self: Panel, sizeW?: boolean, sizeH?: boolean): void;
3468
- }
3469
-
3470
- interface Panel {
3471
2528
  /**
3472
2529
  * Resizes the panel so that its width and height fit all of the content inside.
3473
2530
  *
@@ -3481,9 +2538,6 @@ interface Panel {
3481
2538
  * @source https://wiki.facepunch.com/gmod/Panel:SizeToContents
3482
2539
  */
3483
2540
  SizeToContents(self: Panel): void;
3484
- }
3485
-
3486
- interface Panel {
3487
2541
  /**
3488
2542
  * Resizes the panel object's width to accommodate all child objects/contents.
3489
2543
  *
@@ -3496,9 +2550,6 @@ interface Panel {
3496
2550
  * @source https://wiki.facepunch.com/gmod/Panel:SizeToContentsX
3497
2551
  */
3498
2552
  SizeToContentsX(self: Panel, addVal?: number): void;
3499
- }
3500
-
3501
- interface Panel {
3502
2553
  /**
3503
2554
  * Resizes the panel object's height to accommodate all child objects/contents.
3504
2555
  *
@@ -3511,99 +2562,66 @@ interface Panel {
3511
2562
  * @source https://wiki.facepunch.com/gmod/Panel:SizeToContentsY
3512
2563
  */
3513
2564
  SizeToContentsY(self: Panel, addVal?: number): void;
3514
- }
3515
-
3516
- interface Panel {
3517
2565
  /**
3518
2566
  * Slides the panel in from above.
3519
2567
  * @realm client and menu
3520
2568
  * @source https://wiki.facepunch.com/gmod/Panel:SlideDown
3521
2569
  */
3522
2570
  SlideDown(self: Panel, Length: number): void;
3523
- }
3524
-
3525
- interface Panel {
3526
2571
  /**
3527
2572
  * Slides the panel out to the top.
3528
2573
  * @realm client and menu
3529
2574
  * @source https://wiki.facepunch.com/gmod/Panel:SlideUp
3530
2575
  */
3531
2576
  SlideUp(self: Panel, Length: number): void;
3532
- }
3533
-
3534
- interface Panel {
3535
2577
  /**
3536
2578
  * Begins a box selection, enables mouse capture for the panel object, and sets the start point of the selection box to the mouse cursor's position, relative to this object. For this to work, either the object or its parent must be enabled as a selection canvas. This is set using [Panel:SetSelectionCanvas](https://wiki.facepunch.com/gmod/Panel:SetSelectionCanvas).
3537
2579
  * @realm client and menu
3538
2580
  * @source https://wiki.facepunch.com/gmod/Panel:StartBoxSelection
3539
2581
  */
3540
2582
  StartBoxSelection(self: Panel): void;
3541
- }
3542
-
3543
- interface Panel {
3544
2583
  /**
3545
2584
  * Stops all panel animations by clearing its animation list. This also clears all delayed animations.
3546
2585
  * @realm client and menu
3547
2586
  * @source https://wiki.facepunch.com/gmod/Panel:Stop
3548
2587
  */
3549
2588
  Stop(self: Panel): void;
3550
- }
3551
-
3552
- interface Panel {
3553
2589
  /**
3554
2590
  * Stops the loading of the [HTML](https://wiki.facepunch.com/gmod/HTML) panel's current page.
3555
2591
  * @realm client and menu
3556
2592
  * @source https://wiki.facepunch.com/gmod/Panel:StopLoading
3557
2593
  */
3558
2594
  StopLoading(self: Panel): void;
3559
- }
3560
-
3561
- interface Panel {
3562
2595
  /**
3563
2596
  * Resizes the panel object's height so that its bottom is aligned with the top of the passed panel. An offset greater than zero will reduce the panel's height to leave a gap between it and the passed panel.
3564
2597
  * @realm client and menu
3565
2598
  * @source https://wiki.facepunch.com/gmod/Panel:StretchBottomTo
3566
2599
  */
3567
2600
  StretchBottomTo(self: Panel, tgtPanel: Panel, offset?: number): void;
3568
- }
3569
-
3570
- interface Panel {
3571
2601
  /**
3572
2602
  * Resizes the panel object's width so that its right edge is aligned with the left of the passed panel. An offset greater than zero will reduce the panel's width to leave a gap between it and the passed panel.
3573
2603
  * @realm client and menu
3574
2604
  * @source https://wiki.facepunch.com/gmod/Panel:StretchRightTo
3575
2605
  */
3576
2606
  StretchRightTo(self: Panel, tgtPanel: Panel, offset?: number): void;
3577
- }
3578
-
3579
- interface Panel {
3580
2607
  /**
3581
2608
  * Sets the dimensions of the panel to fill its parent. It will only stretch in directions that aren't nil.
3582
2609
  * @realm client and menu
3583
2610
  * @source https://wiki.facepunch.com/gmod/Panel:StretchToParent
3584
2611
  */
3585
2612
  StretchToParent(self: Panel, offsetLeft?: number, offsetTop?: number, offsetRight?: number, offsetBottom?: number): void;
3586
- }
3587
-
3588
- interface Panel {
3589
2613
  /**
3590
2614
  * Toggles the selected state of a selectable panel object. This functionality is set with [Panel:SetSelectable](https://wiki.facepunch.com/gmod/Panel:SetSelectable) and checked with [Panel:IsSelectable](https://wiki.facepunch.com/gmod/Panel:IsSelectable). To check whether the object is selected or not, [Panel:IsSelected](https://wiki.facepunch.com/gmod/Panel:IsSelected) is used.
3591
2615
  * @realm client and menu
3592
2616
  * @source https://wiki.facepunch.com/gmod/Panel:ToggleSelection
3593
2617
  */
3594
2618
  ToggleSelection(self: Panel): void;
3595
- }
3596
-
3597
- interface Panel {
3598
2619
  /**
3599
2620
  * Toggles the visibility of a panel and all its children.
3600
2621
  * @realm client and menu
3601
2622
  * @source https://wiki.facepunch.com/gmod/Panel:ToggleVisible
3602
2623
  */
3603
2624
  ToggleVisible(self: Panel): void;
3604
- }
3605
-
3606
- interface Panel {
3607
2625
  /**
3608
2626
  * Restores the last saved state (caret position and the text inside) of a [TextEntry](https://wiki.facepunch.com/gmod/TextEntry). Should act identically to pressing CTRL+Z in a [TextEntry](https://wiki.facepunch.com/gmod/TextEntry).
3609
2627
  *
@@ -3613,18 +2631,12 @@ interface Panel {
3613
2631
  * @source https://wiki.facepunch.com/gmod/Panel:Undo
3614
2632
  */
3615
2633
  Undo(self: Panel): void;
3616
- }
3617
-
3618
- interface Panel {
3619
2634
  /**
3620
2635
  * Recursively deselects this panel object and all of its children. This will cascade to all child objects at every level below the parent.
3621
2636
  * @realm client and menu
3622
2637
  * @source https://wiki.facepunch.com/gmod/Panel:UnselectAll
3623
2638
  */
3624
2639
  UnselectAll(self: Panel): void;
3625
- }
3626
-
3627
- interface Panel {
3628
2640
  /**
3629
2641
  * Forcibly updates the panels' HTML Material, similar to when Paint is called on it.This is only useful if the panel is not normally visible, i.e the panel exists purely for its HTML Material.
3630
2642
  * **NOTE**: Only works on with panels that have a HTML Material. See [Panel:GetHTMLMaterial](https://wiki.facepunch.com/gmod/Panel:GetHTMLMaterial) for more details.
@@ -3636,9 +2648,6 @@ interface Panel {
3636
2648
  * @source https://wiki.facepunch.com/gmod/Panel:UpdateHTMLTexture
3637
2649
  */
3638
2650
  UpdateHTMLTexture(self: Panel): void;
3639
- }
3640
-
3641
- interface Panel {
3642
2651
  /**
3643
2652
  * Returns if a given panel is valid or not.
3644
2653
  * @realm client and menu
@@ -3647,4 +2656,337 @@ interface Panel {
3647
2656
  */
3648
2657
  Valid(self: Panel): boolean;
3649
2658
  }
2659
+
2660
+ // The PANEL hook table is a Panel.
2661
+ interface PANEL extends Panel {}
2662
+
2663
+
2664
+
2665
+
2666
+
2667
+
2668
+
2669
+
2670
+
2671
+
2672
+
2673
+
2674
+
2675
+
2676
+
2677
+
2678
+
2679
+
2680
+
2681
+
2682
+
2683
+
2684
+
2685
+
2686
+
2687
+
2688
+
2689
+
2690
+
2691
+
2692
+
2693
+
2694
+
2695
+
2696
+
2697
+
2698
+
2699
+
2700
+
2701
+
2702
+
2703
+
2704
+
2705
+
2706
+
2707
+
2708
+
2709
+
2710
+
2711
+
2712
+
2713
+
2714
+
2715
+
2716
+
2717
+
2718
+
2719
+
2720
+
2721
+
2722
+
2723
+
2724
+
2725
+
2726
+
2727
+
2728
+
2729
+
2730
+
2731
+
2732
+
2733
+
2734
+
2735
+
2736
+
2737
+
2738
+
2739
+
2740
+
2741
+
2742
+
2743
+
2744
+
2745
+
2746
+
2747
+
2748
+
2749
+
2750
+
2751
+
2752
+
2753
+
2754
+
2755
+
2756
+
2757
+
2758
+
2759
+
2760
+
2761
+
2762
+
2763
+
2764
+
2765
+
2766
+
2767
+
2768
+
2769
+
2770
+
2771
+
2772
+
2773
+
2774
+
2775
+
2776
+
2777
+
2778
+
2779
+
2780
+
2781
+
2782
+
2783
+
2784
+
2785
+
2786
+
2787
+
2788
+
2789
+
2790
+
2791
+
2792
+
2793
+
2794
+
2795
+
2796
+
2797
+
2798
+
2799
+
2800
+
2801
+
2802
+
2803
+
2804
+
2805
+
2806
+
2807
+
2808
+
2809
+
2810
+
2811
+
2812
+
2813
+
2814
+
2815
+
2816
+
2817
+
2818
+
2819
+
2820
+
2821
+
2822
+
2823
+
2824
+
2825
+
2826
+
2827
+
2828
+
2829
+
2830
+
2831
+
2832
+
2833
+
2834
+
2835
+
2836
+
2837
+
2838
+
2839
+
2840
+
2841
+
2842
+
2843
+
2844
+
2845
+
2846
+
2847
+
2848
+
2849
+
2850
+
2851
+
2852
+
2853
+
2854
+
2855
+
2856
+
2857
+
2858
+
2859
+
2860
+
2861
+
2862
+
2863
+
2864
+
2865
+
2866
+
2867
+
2868
+
2869
+
2870
+
2871
+
2872
+
2873
+
2874
+
2875
+
2876
+
2877
+
2878
+
2879
+
2880
+
2881
+
2882
+
2883
+
2884
+
2885
+
2886
+
2887
+
2888
+
2889
+
2890
+
2891
+
2892
+
2893
+
2894
+
2895
+
2896
+
2897
+
2898
+
2899
+
2900
+
2901
+
2902
+
2903
+
2904
+
2905
+
2906
+
2907
+
2908
+
2909
+
2910
+
2911
+
2912
+
2913
+
2914
+
2915
+
2916
+
2917
+
2918
+
2919
+
2920
+
2921
+
2922
+
2923
+
2924
+
2925
+
2926
+
2927
+
2928
+
2929
+
2930
+
2931
+
2932
+
2933
+
2934
+
2935
+
2936
+
2937
+
2938
+
2939
+
2940
+
2941
+
2942
+
2943
+
2944
+
2945
+
2946
+
2947
+
2948
+
2949
+
2950
+
2951
+
2952
+
2953
+
2954
+
2955
+
2956
+
2957
+
2958
+
2959
+
2960
+
2961
+
2962
+
2963
+
2964
+
2965
+
2966
+
2967
+
2968
+
2969
+
2970
+
2971
+
2972
+
2973
+
2974
+
2975
+
2976
+
2977
+
2978
+
2979
+
2980
+
2981
+
2982
+
2983
+
2984
+
2985
+
2986
+
2987
+
2988
+
2989
+
2990
+
2991
+
3650
2992