public void Draw(Graphics drawer, Bitmap[] resources, WatchState state) { if (state.DayTemperature == null || state.NightTemperature == null) { return; } var images = new List <Bitmap>(); if (state.DayTemperature < 0) { images.Add(resources[MinusImageIndex]); } images.AddRange(Number.GetImagesForNumber(resources, Math.Abs(state.DayTemperature.Value))); if (AppendDegreesToBoth && DegreesImageIndex != null) { images.Add(resources[DegreesImageIndex.Value]); } images.Add(resources[DelimiterImageIndex]); if (state.NightTemperature < 0) { images.Add(resources[MinusImageIndex]); } images.AddRange(Number.GetImagesForNumber(resources, Math.Abs(state.NightTemperature.Value))); if (DegreesImageIndex != null) { images.Add(resources[DegreesImageIndex.Value]); } DrawerHelper.DrawImages(drawer, images, Number.Spacing, Number.Alignment, Number.GetBox()); }
public void Draw(Graphics drawer, Bitmap[] resources, int temperature, CoordinatesElement altCoordinates = null) { var drawingBox = altCoordinates == null?Number.GetBox() : Number.GetAltBox(altCoordinates); var images = GetImagesForTemperature(resources, temperature); DrawerHelper.DrawImages(drawer, images, (int)Number.Spacing, Number.Alignment, drawingBox); }
private void StartDrawingLine(ConnectingRectangleViewModel rectangle) { var startPosition = GetAnchorPoint(rectangle); _line = DrawerHelper.GetLine(startPosition, startPosition, isHitTestVisible: false); AddLineToGrid(_line); View.MouseMove += View_MouseMove; }
public void Draw(Graphics drawer, Bitmap[] images, Bitmap icon, int number, int minimumDigits = 1) { List <Bitmap> imgs = GetImagesForNumber(images, number, minimumDigits); if (icon != null) { imgs.Insert(0, icon); } DrawerHelper.DrawImages(drawer, imgs, (int)Spacing, Alignment, GetBox()); }
public void Draw(Graphics drawer, Bitmap[] resources, WatchState state) { var monthAndDay = (MonthAndDayElement)_parent; var images = Number.GetImagesForNumber(resources, state.Time.Month, monthAndDay.TwoDigitsMonth ? 2 : 1); images.Add(resources[DelimiterImageIndex]); images.AddRange(Number.GetImagesForNumber(resources, state.Time.Day, monthAndDay.TwoDigitsDay ? 2 : 1)); DrawerHelper.DrawImages(drawer, images, (int)Number.Spacing, Number.Alignment, Number.GetBox()); }
private Line AddLine(ConnectingRectangleViewModel source, ConnectingRectangleViewModel destination) { var startPosition = GetAnchorPoint(source); var endPosition = GetAnchorPoint(destination); var line = DrawerHelper.GetLine(startPosition, endPosition, isHitTestVisible: false); AddLineToGrid(line); return(line); }
public void Draw(Graphics drawer, Bitmap[] resources, WatchState state) { var kilometers = state.Distance / 1000; var decimals = state.Distance % 1000 / 10; var images = Number.GetImagesForNumber(resources, kilometers); images.Add(resources[DecimalPointImageIndex]); images.AddRange(Number.GetImagesForNumber(resources, decimals)); images.Add(resources[KilometerImageIndex]); DrawerHelper.DrawImages(drawer, images, (int)Number.Spacing, Number.Alignment, Number.GetBox()); }
private Rect DrawEvents(Rect pos, Rect labelPos, SerializedProperty arrayEnter, string name) { labelPos.y += DragHeight; DrawerHelper.BoldLabel(labelPos, name + " Events", boldStyle); if (arrayEnter.hasMultipleDifferentValues) { labelPos.y += DragHeight; EditorGUI.HelpBox(labelPos, "Cannot edit with multiple different values.", MessageType.Info); } else { labelPos.y += DragHeight; DrawEventArray(pos, arrayEnter, ref labelPos, boldStyle); GUI.Button(labelPos, "Drag event here to add to " + name + " event"); if (labelPos.Contains(Event.current.mousePosition)) { DrawerHelper.HandleEventDrag(arrayEnter); } } return(labelPos); }
public void Draw(Graphics drawer, Bitmap[] resources, WatchState state) { var steps = 0; var decimals = 0; if (state.Steps >= 10000) { steps = state.Steps / 10000; decimals = state.Steps % 10000; } else if (state.Steps >= 1000) { steps = state.Steps / 1000; decimals = state.Steps % 1000; } else if (state.Steps >= 100) { steps = state.Steps / 100; decimals = state.Steps % 100; } else if (state.Steps >= 10) { steps = state.Steps / 10; decimals = state.Steps % 10; } var images = Number.GetImagesForNumber(resources, steps); //images.Add(resources[DecimalPointImageIndex]); images.AddRange(Number.GetImagesForNumber(resources, decimals)); if (SuffixMilesImageIndex > 0) { images.Add(resources[SuffixMilesImageIndex]); } DrawerHelper.DrawImages(drawer, images, (int)Number.Spacing, Number.Alignment, Number.GetBox()); }
public void Draw(Graphics drawer, Bitmap[] images, int number, int minimumDigits = 1) { DrawerHelper.DrawImages(drawer, GetImagesForNumber(images, number, minimumDigits), (int)Spacing, Alignment, GetBox()); }
public override void OnGUI(Rect pos, SerializedProperty prop, GUIContent label) { var actions = prop.FindPropertyRelative("Actions"); var labelPos = pos; var labelStyle = GUI.skin.GetStyle("label"); var alignment = labelStyle.alignment; labelStyle.alignment = TextAnchor.MiddleLeft;; labelPos.height = 14; DrawerHelper.BoldLabel(labelPos, prop.FindPropertyRelative("Title").stringValue, labelStyle); for (int i = 0; i < actions.arraySize; ++i) { var currentElement = actions.GetArrayElementAtIndex(i); labelPos.y += LineHeight; labelPos.height = 20; InAudioBankLink bankLink = currentElement.FindPropertyRelative("Bank").objectReferenceValue as InAudioBankLink; if (bankLink != null) { GUI.Label(labelPos, bankLink.GetName, labelStyle); } else { GUI.Label(labelPos, "Missing event", labelStyle); } Rect buttonPos = labelPos; buttonPos.x = pos.width - 172; //Align to right side buttonPos.width = 70; var actionProp = currentElement.FindPropertyRelative("BankAction"); actionProp.enumValueIndex = Convert.ToInt32(EditorGUI.EnumPopup(buttonPos, (BankHookActionType)actionProp.enumValueIndex)); buttonPos.width = 50; buttonPos.x = pos.width - 100; //Align to right side if (bankLink == null) { GUI.enabled = false; } if (GUI.Button(buttonPos, "Find")) { EditorWindow.GetWindow <AuxWindow>().FindBank(bankLink); } GUI.enabled = true; buttonPos.x = pos.width - 44; buttonPos.width = 35; if (GUI.Button(buttonPos, "X")) { actions.DeleteArrayElementAtIndex(i); } } labelPos.y += DragHeight + 4; labelPos.height = DragHeight; GUI.skin.label.alignment = TextAnchor.MiddleCenter; GUI.Button(labelPos, "Drag bank here for " + prop.FindPropertyRelative("Title").stringValue); if (labelPos.Contains(Event.current.mousePosition)) { DrawerHelper.HandleBankDrag(actions); } labelStyle.alignment = alignment; }