@@ -18,6 +18,7 @@ local VerticallyScalingListFrame = require(targetFolder.VerticallyScalingListFra
1818local Color = require (script .Color )
1919local FontFace = require (script .FontFace )
2020local GuiObjectPart = require (script .GuiObjectPart )
21+ local LineJoinMode = require (script .LineJoinMode )
2122
2223local PluginGui = {}
2324
@@ -110,14 +111,14 @@ function PluginGui:newPluginGui(widgetGui)
110111 )
111112 wrappedCheckbox :GetFrame ().Parent = textCollapse :GetContentsFrame ()
112113
113- local colorTextChoice = LabeledMultiChoice .new ( -- Another hacky way to display color.
114+ local colorTextChoice = LabeledMultiChoice .new (
114115 " colorSelection" , -- name suffix of gui object
115116 " Text Color" , -- title text of the multi choice
116117 Color , -- choices array
117- 11 -- the starting index of the selection (in this case choice 1)
118+ 11 -- the starting index of the selection
118119 )
119- if settings (). Studio . Theme == settings (). Studio : GetAvailableThemes ()[ 2 ] then
120- fontTextChoice :SetSelectedIndex (1 )
120+ if ( GuiUtilities : ShouldUseIconsForDarkerBackgrounds ()) then
121+ colorTextChoice :SetSelectedIndex (1 )
121122 end
122123 colorTextChoice :GetFrame ().Parent = textCollapse :GetContentsFrame ()
123124
@@ -141,35 +142,62 @@ function PluginGui:newPluginGui(widgetGui)
141142 " fontTextChoice" , -- name suffix of gui object
142143 " Font Face" , -- title text of the multi choice
143144 FontFace , -- choices array
144- 32 -- the starting index of the selection (in this case choice 1)
145+ 32 -- the starting index of the selection
145146 )
146147 fontTextChoice :GetFrame ().Parent = textCollapse :GetContentsFrame ()
147148
148149 local strokeCollapse = CollapsibleTitledSection .new ( -- Fonts collapse
149150 " strokeCollapse" , -- name suffix of the gui object
150- " Text Stroke " , -- the text displayed beside the collapsible arrow
151+ " Enabled " , -- the text displayed beside the collapsible arrow
151152 true , -- have the content frame auto-update its size?
152153 true , -- minimizable?
153154 true -- minimized by default?
154155 )
155156 listFrame :AddChild (strokeCollapse :GetSectionFrame ()) -- add child to expanding VerticallyScalingListFrame
156157
158+ local strokeCheckbox = LabeledCheckbox .new (
159+ " strokeCheckbox" , -- name suffix of gui object
160+ " Stroke" , -- text beside the checkbox
161+ false , -- initial value
162+ false -- initially disabled?
163+ )
164+ strokeCheckbox :GetFrame ().Parent = strokeCollapse :GetContentsFrame ()
165+
166+ local colorStrokeChoice = LabeledMultiChoice .new (
167+ " colorStrokeChoice" , -- name suffix of gui object
168+ " Color" , -- title text of the multi choice
169+ Color , -- choices array
170+ 11 -- the starting index of the selection
171+ )
172+ if GuiUtilities :ShouldUseIconsForDarkerBackgrounds () == true then
173+ colorStrokeChoice :SetSelectedIndex (11 )
174+ end
175+ colorStrokeChoice :GetFrame ().Parent = strokeCollapse :GetContentsFrame ()
176+
177+ local joinStrokeChoice = LabeledMultiChoice .new (
178+ " joinStrokeChoice" , -- name suffix of gui object
179+ " Line Join Mode" , -- title text of the multi choice
180+ LineJoinMode , -- choices array
181+ 1 -- the starting index of the selection
182+ )
183+ joinStrokeChoice :GetFrame ().Parent = strokeCollapse :GetContentsFrame ()
184+
185+ local thicknessStrokeSlider = LabeledSlider .new ( -- Size Slider
186+ " thicknessStrokeSlider" , -- name suffix of gui object
187+ " Thickness" , -- title text of the multi choice
188+ 11 , -- how many intervals to split the slider into
189+ 2 -- the starting value of the slider
190+ )
191+ thicknessStrokeSlider :GetFrame ().Parent = strokeCollapse :GetContentsFrame ()
192+
157193 local transparencyStrokeSlider = LabeledSlider .new ( -- Size Slider
158194 " transparencyStrokeSlider" , -- name suffix of gui object
159195 " Transparency" , -- title text of the multi choice
160196 11 , -- how many intervals to split the slider into
161- 11 -- the starting value of the slider
197+ 1 -- the starting value of the slider
162198 )
163199 transparencyStrokeSlider :GetFrame ().Parent = strokeCollapse :GetContentsFrame ()
164200
165- local colorStrokeChoice = LabeledMultiChoice .new ( -- Another hacky way to display color.
166- " colorStrokeSelection" , -- name suffix of gui object
167- " Stroke Color" , -- title text of the multi choice
168- Color , -- choices array
169- 11 -- the starting index of the selection (in this case choice 1)
170- )
171- colorStrokeChoice :GetFrame ().Parent = strokeCollapse :GetContentsFrame ()
172-
173201 local backgroundCollapse = CollapsibleTitledSection .new ( -- Fonts collapse
174202 " backgroundCollapse" , -- name suffix of the gui object
175203 " Background" , -- the text displayed beside the collapsible arrow
@@ -187,11 +215,11 @@ function PluginGui:newPluginGui(widgetGui)
187215 )
188216 transparencyBackgroundSlider :GetFrame ().Parent = backgroundCollapse :GetContentsFrame ()
189217
190- local colorBackgroundChoice = LabeledMultiChoice .new ( -- Another hacky way to display color.
218+ local colorBackgroundChoice = LabeledMultiChoice .new (
191219 " colorBackgroundSelection" , -- name suffix of gui object
192220 " Background Color" , -- title text of the multi choice
193221 Color , -- choices array
194- 1 -- the starting index of the selection (in this case choice 1)
222+ 1 -- the starting index of the selection
195223 )
196224 colorBackgroundChoice :GetFrame ().Parent = backgroundCollapse :GetContentsFrame ()
197225
@@ -283,6 +311,7 @@ function PluginGui:newPluginGui(widgetGui)
283311 italicCheckbox :SetValueChangedFunction (function (newValue )
284312 CustomTextLabel :UpdateFontFaceItalic (newValue )
285313 end )
314+
286315 colorTextChoice :SetValueChangedFunction (function (newIndex )
287316 local color = Color [newIndex ].Color
288317 CustomTextLabel :UpdateTextColor3 (color )
@@ -293,13 +322,26 @@ function PluginGui:newPluginGui(widgetGui)
293322 CustomTextLabel :UpdateFontFace (font )
294323 end )
295324
296- transparencyStrokeSlider :SetValueChangedFunction (function (newValue )
297- CustomTextLabel :UpdateTextStrokeTransparency (( newValue - 1 ) / 10 )
325+ strokeCheckbox :SetValueChangedFunction (function (newValue )
326+ CustomTextLabel :UpdateStroke ( newValue )
298327 end )
299328
300329 colorStrokeChoice :SetValueChangedFunction (function (newIndex )
301330 local color = Color [newIndex ].Color
302- CustomTextLabel :UpdateTextStrokeColor3 (color )
331+ CustomTextLabel :UpdateStrokeColor (color )
332+ end )
333+
334+ joinStrokeChoice :SetValueChangedFunction (function (newIndex )
335+ local join = LineJoinMode [newIndex ].Mode
336+ CustomTextLabel :UpdateStrokeJoin (join )
337+ end )
338+
339+ thicknessStrokeSlider :SetValueChangedFunction (function (newValue )
340+ CustomTextLabel :UpdateStrokeThickness ((newValue - 1 ))
341+ end )
342+
343+ transparencyStrokeSlider :SetValueChangedFunction (function (newValue )
344+ CustomTextLabel :UpdateStrokeTransparency ((newValue - 1 ) / 10 )
303345 end )
304346
305347 transparencyBackgroundSlider :SetValueChangedFunction (function (newValue )
0 commit comments