initial commit

This commit is contained in:
2025-10-09 14:37:45 +03:00
commit 62d4800830
15 changed files with 364 additions and 0 deletions

View File

@ -0,0 +1,32 @@
import Toybox.Graphics;
import Toybox.Lang;
import Toybox.WatchUi;
class IBackground extends Drawable {
typedef BackgroundParams as {
:Identifier as Object,
};
enum BackgroundStyleType {
SOLID_BACKGROUND,
}
static function getBackground(style as BackgroundStyleType) as IBackground {
switch (style) {
case SOLID_BACKGROUND:
default:
return new SolidBackground({});
}
}
function initialize(options as BackgroundParams) {
Drawable.initialize({:identifier => options[:Identifier]});
}
function draw(dc as Dc) as Void {
drawBackground(dc);
}
function drawBackground(dc as Dc) as Void {}
}

View File

@ -0,0 +1,24 @@
import Toybox.Graphics;
import Toybox.Lang;
import Toybox.WatchUi;
class SolidBackground extends IBackground {
var Color as ColorType;
typedef SolidBackgroundParams as {
:BackgroundParams as IBackground.BackgroundParams,
:Color as ColorType,
};
function initialize(options as SolidBackgroundParams) {
IBackground.initialize(getOrElse(options[:BackgroundParams], {}));
Color = getOrElse(options[:Color], Graphics.COLOR_BLACK);
}
function drawBackground(dc as Dc) as Void {
dc.setColor(Graphics.COLOR_TRANSPARENT, Color);
dc.clear();
}
}