Meta: Add files to repository
This commit is contained in:
parent
80a0428b66
commit
39198164cd
1029 changed files with 78311 additions and 0 deletions
71
Applets/VolumeSlider.applet/Run.HC
Normal file
71
Applets/VolumeSlider.applet/Run.HC
Normal file
|
@ -0,0 +1,71 @@
|
|||
Gui.App();
|
||||
|
||||
Window* win = Compositor.CreateWindow(Display.Width(), 32, 256, 32,
|
||||
WIN_FLAGS_NOHILIGHT | WIN_FLAGS_SKIP);
|
||||
|
||||
Context2DWidget* volume_slider_icon = Gui.CreateWidget(win, WIDGET_TYPE_CONTEXT2D, 0, 0, 24, 24);
|
||||
volume_slider_icon->ctx = NewContext2D(24, 24);
|
||||
HorizontalSliderWidget* volume_slider = Gui.CreateWidget(win, WIDGET_TYPE_HORZ_SLIDER, 32, 4, 212, 24);
|
||||
volume_slider->max = 100;
|
||||
volume_slider->scroll = volume_slider->width;
|
||||
|
||||
Context2DWidget* tray_icon = SystemTray.RegisterItem();
|
||||
|
||||
Context2D* ctx_volume_muted = Image.FileToContext2D(
|
||||
"M:/Media/Themes/Umami/Icon/status/audio-volume-muted.png");
|
||||
Context2D* ctx_volume_low = Image.FileToContext2D(
|
||||
"M:/Media/Themes/Umami/Icon/status/audio-volume-low.png");
|
||||
Context2D* ctx_volume_medium = Image.FileToContext2D(
|
||||
"M:/Media/Themes/Umami/Icon/status/audio-volume-medium.png");
|
||||
Context2D* ctx_volume_high = Image.FileToContext2D(
|
||||
"M:/Media/Themes/Umami/Icon/status/audio-volume-high.png");
|
||||
|
||||
U0 @volumeslider_show(Widget*)
|
||||
{
|
||||
win->x = Display.Width() - 256;
|
||||
Compositor.ShowWindow(win);
|
||||
Gui.Window.SetFocus(win);
|
||||
}
|
||||
|
||||
U0 @volumeslider_change(Widget*)
|
||||
{
|
||||
I64 volume = Min(ToI64(volume_slider->scroll * 0.47), 100);
|
||||
Audio.mixer.left = volume;
|
||||
Audio.mixer.right = volume;
|
||||
Context2D* update_slider_icon = NULL;
|
||||
switch (volume) {
|
||||
case 0:
|
||||
update_slider_icon = ctx_volume_muted;
|
||||
break;
|
||||
case 1...24:
|
||||
update_slider_icon = ctx_volume_low;
|
||||
break;
|
||||
case 25...74:
|
||||
update_slider_icon = ctx_volume_medium;
|
||||
break;
|
||||
case 75...100:
|
||||
default:
|
||||
update_slider_icon = ctx_volume_high;
|
||||
break;
|
||||
}
|
||||
CopyRect2D(volume_slider_icon->ctx, 0, 0, update_slider_icon);
|
||||
CopyRect2D(tray_icon->ctx, 0, 0, update_slider_icon);
|
||||
Gui.Window.Refresh(Compositor.menubar.win);
|
||||
}
|
||||
@volumeslider_change(NULL);
|
||||
|
||||
U0 Main()
|
||||
{
|
||||
Gui.Window.SetTitle(win, "VolumeSlider");
|
||||
Compositor.HideWindow(win);
|
||||
Gui.Widget.SetCallback(tray_icon, "clicked", &@volumeslider_show);
|
||||
Gui.Widget.SetCallback(volume_slider, "change", &@volumeslider_change);
|
||||
|
||||
while (1) {
|
||||
if (Gui.Window.IsVisible(win) && Compositor.active_win != win)
|
||||
Compositor.HideWindow(win);
|
||||
Sleep(1);
|
||||
}
|
||||
}
|
||||
|
||||
Main;
|
Loading…
Add table
Add a link
Reference in a new issue