Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Toybox.Graphics;
- import Toybox.Lang;
- import Toybox.System;
- import Toybox.WatchUi;
- using Toybox.ActivityMonitor as Act;
- using Toybox.Activity as Acty;
- using Toybox.Time.Gregorian;
- class watchimageView extends WatchUi.WatchFace {
- var Battery;
- var HR;
- var leaf;
- var stepsDone;
- var caloriesDone;
- var WhiteBG;
- var DarkOrangeBG;
- var LightOrangeBG;
- var W = Application.Properties.getValue("BackgroundColor");
- function initialize() {
- WatchFace.initialize();
- Battery=WatchUi.loadResource(Rez.Drawables.Battery);
- HR=WatchUi.loadResource(Rez.Drawables.HR);
- leaf=WatchUi.loadResource(Rez.Drawables.leaf);
- stepsDone=WatchUi.loadResource(Rez.Drawables.stepsDone);
- caloriesDone=WatchUi.loadResource(Rez.Drawables.caloriesDone);
- WhiteBG=WatchUi.loadResource(Rez.Drawables.WhiteBG);
- DarkOrangeBG=WatchUi.loadResource(Rez.Drawables.DarkOrangeBG);
- LightOrangeBG=WatchUi.loadResource(Rez.Drawables.LightOrangeBG);
- }
- var customFont = null;
- var smallCustomFont = null;
- var dateFont = null;
- var systemInfoFont = null;
- var pwr = System.getSystemStats().battery+.5;
- var batStr = Lang.format( "$1$", [ pwr.format( "%2d" ) ] );
- var today = Gregorian.info(Time.now(), Time.FORMAT_MEDIUM);
- var dateString = Lang.format(
- "$1$ $2$ $3$" ,
- [
- today.day_of_week,
- today.day,
- today.month,
- ]
- );
- // Load your resources here
- function onLayout(dc as Dc) as Void {
- setLayout(Rez.Layouts.WatchFace(dc));
- customFont = WatchUi.loadResource(Rez.Fonts.customFont);
- smallCustomFont=WatchUi.loadResource(Rez.Fonts.smallCustomFont);
- dateFont=WatchUi.loadResource(Rez.Fonts.dateFont);
- systemInfoFont=WatchUi.loadResource(Rez.Fonts.systemInfoFont);
- }
- // Called when this View is brought to the foreground. Restore
- // the state of this View and prepare it to be shown. This includes
- // loading resources into memory.
- function onShow() as Void {}
- // Update the view
- function onUpdate(dc as Dc) as Void {
- dc.clear();
- var clockTime = System.getClockTime();
- var hour = clockTime.hour;
- if (!System.getDeviceSettings().is24Hour) {
- hour = hour % 12;
- if (hour == 0) {
- hour = 12;
- }
- }
- if (W==0) {dc.drawBitmap(0, 0, WhiteBG)};
- if (W==1) {dc.drawBitmap(0, 0, DarkOrangeBG)};
- if (W==2) {dc.drawBitmap(0, 0, LightOrangeBG)};
- var info = Act.getInfo();
- var steps = info.steps;
- var calories = info.calories;
- var BTstatusBitmap;
- var devSettings = System.getDeviceSettings();
- if (devSettings.phoneConnected) {
- BTstatusBitmap = WatchUi.loadResource(Rez.Drawables.connectIcon);
- dc.drawBitmap(dc.getWidth()/9.244, dc.getHeight()/4.16, BTstatusBitmap);}
- if (Act has: getHeartRateHistory) {
- var heartRate = Activity.getActivityInfo().currentHeartRate;
- if (heartRate == null) {
- var HRH = Act.getHeartRateHistory(1, true);
- var HRS = HRH.next();
- if (HRS != null && HRS.heartRate != Act.INVALID_HR_SAMPLE) {
- heartRate = HRS.heartRate;
- }
- }
- if (heartRate != null) {
- heartRate = heartRate.toString();
- } else {
- heartRate = "--";
- }
- dc.drawBitmap(dc.getWidth()/1.284, dc.getHeight()/1.935, Battery);
- dc.drawBitmap(dc.getWidth()/1.3, dc.getHeight()/2.273, HR);
- dc.drawBitmap(dc.getWidth()/2.5366, dc.getHeight()/20.8, leaf);
- dc.drawBitmap(dc.getWidth()/83.2, dc.getHeight()/1.9349, stepsDone);
- dc.drawBitmap(dc.getWidth()/83.2, dc.getHeight()/2.31, caloriesDone);
- dc.setColor(Graphics.COLOR_BLACK, Graphics.COLOR_TRANSPARENT);
- dc.drawText(dc.getWidth()/1.202, dc.getHeight()/1.89, smallCustomFont, batStr+"%", Graphics.TEXT_JUSTIFY_LEFT);
- dc.drawText(dc.getWidth()/1.1886, dc.getHeight()/2.2486, smallCustomFont, heartRate, Graphics.TEXT_JUSTIFY_LEFT);
- dc.drawText(dc.getWidth()/11.886, dc.getHeight()/1.8489, systemInfoFont, steps, Graphics.TEXT_JUSTIFY_LEFT);
- dc.drawText(dc.getWidth()/11.886, dc.getHeight()/2.1895, systemInfoFont, calories, Graphics.TEXT_JUSTIFY_LEFT);
- // Get and show the current time
- dc.setColor(Graphics.COLOR_BLACK, Graphics.COLOR_TRANSPARENT);
- dc.drawText(dc.getWidth()/2.0293, dc.getHeight()/2.133, customFont, hour.toString(), Graphics.TEXT_JUSTIFY_RIGHT);
- dc.setColor(Graphics.COLOR_BLACK, Graphics.COLOR_TRANSPARENT);
- dc.drawText(dc.getWidth()/2, dc.getHeight()/2.133, customFont, ":"+Lang.format("$1$", [clockTime.min.format("%02d")]), Graphics.TEXT_JUSTIFY_LEFT);
- dc.drawText(dc.getWidth()/2, dc.getHeight()/13, dateFont, dateString, Graphics.TEXT_JUSTIFY_CENTER);
- }
- // Called when this View is removed from the screen. Save the
- // state of this View here. This includes freeing resources from
- // memory.
- }function onHide() as Void {}
- // The user has just looked at their watch. Timers and animations may be started here.
- function onExitSleep() as Void {}
- // Terminate any active timers and prepare for slow updates.
- function onEnterSleep() as Void {}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement