Skip to content

Commit ff12e62

Browse files
committed
Remove all shadow code from FigleControl
Removed shadow functionality as requested: - Removed ShadowStyle enum - Removed shadow fields (style, color, offsetX, offsetY) - Removed shadow properties from FigleControl - Removed all shadow rendering methods (RenderShadow, RenderDropShadow, RenderOutline, RenderExtrude3D, DarkenColor) - Removed shadow size calculations from MeasureDOM and GetLogicalContentSize - Removed shadow-related builder methods and fields - Updated example app: removed ShadowEffectsWindow, renumbered buttons 2-4 to 2-3 - Removed shadow properties from RainbowAnimationWindow FigleControl now has clean simple rendering: - Font sizes: Small, Default, Large - Text alignment: Left, Center, Right - Color support - No shadows
1 parent 24f32bc commit ff12e62

4 files changed

Lines changed: 817 additions & 1038 deletions

File tree

Examples/FigleShowcaseExample/Program.cs

Lines changed: 10 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,8 @@ static void Main(string[] args)
4343
{
4444
"[white]Demonstrates FIGlet ASCII art text with:[/]",
4545
"[white]• Multiple font sizes (Small, Default, Large)[/]",
46-
"[white]• Shadow effects (Drop shadow, Outline, 3D extrusion)[/]",
4746
"[white]• Text alignment options[/]",
48-
"[white]• Animated transitions[/]"
47+
"[white]• Animated color transitions[/]"
4948
});
5049
mainWindow.AddControl(descMarkup);
5150

@@ -71,30 +70,10 @@ static void Main(string[] args)
7170

7271
mainWindow.AddControl(new MarkupControl(new List<string> { "" }));
7372

74-
// Button 2: Shadow Effects
75-
var shadowButton = new ButtonControl
76-
{
77-
Text = "► 2. Shadow Effects (Drop, Outline, 3D)",
78-
Width = 65
79-
};
80-
shadowButton.Click += (sender, e) =>
81-
{
82-
var window = new ShadowEffectsWindow(windowSystem);
83-
windowSystem.AddWindow(window);
84-
};
85-
mainWindow.AddControl(shadowButton);
86-
87-
mainWindow.AddControl(new MarkupControl(new List<string>
88-
{
89-
"[dim] See drop shadows, outlines, and 3D extrusion[/]"
90-
}));
91-
92-
mainWindow.AddControl(new MarkupControl(new List<string> { "" }));
93-
94-
// Button 3: Alignments
73+
// Button 2: Alignments
9574
var alignButton = new ButtonControl
9675
{
97-
Text = "► 3. Text Alignment Demo",
76+
Text = "► 2. Text Alignment Demo",
9877
Width = 65
9978
};
10079
alignButton.Click += (sender, e) =>
@@ -111,10 +90,10 @@ static void Main(string[] args)
11190

11291
mainWindow.AddControl(new MarkupControl(new List<string> { "" }));
11392

114-
// Button 4: Animated Rainbow
93+
// Button 3: Animated Rainbow
11594
var rainbowButton = new ButtonControl
11695
{
117-
Text = "► 4. Animated Rainbow Colors",
96+
Text = "► 3. Animated Rainbow Colors",
11897
Width = 65
11998
};
12099
rainbowButton.Click += (sender, e) =>
@@ -148,7 +127,7 @@ static void Main(string[] args)
148127
// Instructions
149128
var instructionMarkup = new MarkupControl(new List<string>
150129
{
151-
"[dim]Press number keys 1-4 to launch demos | Tab/arrows to navigate[/]",
130+
"[dim]Press number keys 1-3 to launch demos | Tab/arrows to navigate[/]",
152131
"[dim]Enter or click to activate button | Press Q to quit | Esc closes windows[/]"
153132
});
154133
mainWindow.AddControl(instructionMarkup);
@@ -164,16 +143,11 @@ static void Main(string[] args)
164143
e.Handled = true;
165144
break;
166145
case '2':
167-
var shadowWin = new ShadowEffectsWindow(windowSystem);
168-
windowSystem.AddWindow(shadowWin);
169-
e.Handled = true;
170-
break;
171-
case '3':
172146
var alignWin = new AlignmentWindow(windowSystem);
173147
windowSystem.AddWindow(alignWin);
174148
e.Handled = true;
175149
break;
176-
case '4':
150+
case '3':
177151
var rainbowWin = new RainbowAnimationWindow(windowSystem);
178152
windowSystem.AddWindow(rainbowWin);
179153
e.Handled = true;
@@ -247,86 +221,7 @@ public FontSizesWindow(ConsoleWindowSystem windowSystem) : base(windowSystem)
247221
}
248222
}
249223

250-
// Window 2: Shadow Effects Showcase
251-
class ShadowEffectsWindow : Window
252-
{
253-
public ShadowEffectsWindow(ConsoleWindowSystem windowSystem) : base(windowSystem)
254-
{
255-
Title = "FIGlet Shadow Effects";
256-
Width = 70;
257-
Height = 32;
258-
Left = (Console.WindowWidth - Width) / 2;
259-
Top = (Console.WindowHeight - Height) / 2;
260-
261-
// Header
262-
AddControl(new MarkupControl(new List<string>
263-
{
264-
"[bold cyan]Shadow & 3D Effects[/]",
265-
""
266-
}));
267-
268-
// No shadow
269-
AddControl(new MarkupControl(new List<string> { "[yellow]No Shadow:[/]" }));
270-
var noShadow = new FigleControl
271-
{
272-
Text = "PLAIN",
273-
Size = FigletSize.Small,
274-
Color = Spectre.Console.Color.White,
275-
ShadowStyle = ShadowStyle.None
276-
};
277-
AddControl(noShadow);
278-
279-
AddControl(new MarkupControl(new List<string> { "" }));
280-
281-
// Drop shadow
282-
AddControl(new MarkupControl(new List<string> { "[yellow]Drop Shadow:[/]" }));
283-
var dropShadow = new FigleControl
284-
{
285-
Text = "SHADOW",
286-
Size = FigletSize.Small,
287-
Color = Spectre.Console.Color.Aqua,
288-
ShadowStyle = ShadowStyle.DropShadow,
289-
ShadowOffsetX = 2,
290-
ShadowOffsetY = 1,
291-
ShadowColor = Spectre.Console.Color.Grey
292-
};
293-
AddControl(dropShadow);
294-
295-
AddControl(new MarkupControl(new List<string> { "" }));
296-
297-
// Outline
298-
AddControl(new MarkupControl(new List<string> { "[yellow]Outline:[/]" }));
299-
var outline = new FigleControl
300-
{
301-
Text = "OUTLINE",
302-
Size = FigletSize.Small,
303-
Color = Spectre.Console.Color.Yellow,
304-
ShadowStyle = ShadowStyle.Outline,
305-
ShadowColor = Spectre.Console.Color.Blue
306-
};
307-
AddControl(outline);
308-
309-
AddControl(new MarkupControl(new List<string> { "" }));
310-
311-
// 3D Extrusion
312-
AddControl(new MarkupControl(new List<string> { "[yellow]3D Extrusion:[/]" }));
313-
var extrude3D = new FigleControl
314-
{
315-
Text = "3D TEXT",
316-
Size = FigletSize.Small,
317-
Color = Spectre.Console.Color.Red,
318-
ShadowStyle = ShadowStyle.Extrude3D,
319-
ShadowOffsetX = 3,
320-
ShadowOffsetY = 2,
321-
ShadowColor = Spectre.Console.Color.Maroon
322-
};
323-
AddControl(extrude3D);
324-
325-
AddControl(new MarkupControl(new List<string> { "", "[dim]Press ESC to close[/]" }));
326-
}
327-
}
328-
329-
// Window 3: Alignment Showcase
224+
// Window 2: Alignment Showcase
330225
class AlignmentWindow : Window
331226
{
332227
public AlignmentWindow(ConsoleWindowSystem windowSystem) : base(windowSystem)
@@ -388,7 +283,7 @@ public AlignmentWindow(ConsoleWindowSystem windowSystem) : base(windowSystem)
388283
}
389284
}
390285

391-
// Window 4: Rainbow Animation
286+
// Window 3: Rainbow Animation
392287
class RainbowAnimationWindow : Window
393288
{
394289
private FigleControl? _animatedText;
@@ -427,10 +322,7 @@ public RainbowAnimationWindow(ConsoleWindowSystem windowSystem) : base(windowSys
427322
Size = FigletSize.Default,
428323
Color = _rainbowColors[0],
429324
HorizontalAlignment = SharpConsoleUI.Layout.HorizontalAlignment.Center,
430-
Width = 65,
431-
ShadowStyle = ShadowStyle.DropShadow,
432-
ShadowOffsetX = 2,
433-
ShadowOffsetY = 1
325+
Width = 65
434326
};
435327
AddControl(_animatedText);
436328

0 commit comments

Comments
 (0)