public FloorDrawable(InteractionLayer.EditorType editorType, ISceneContext sceneContext, Color buildVolumeColor, ThemeConfig theme) { this.buildVolumeColor = buildVolumeColor; this.sceneContext = sceneContext; this.editorType = editorType; this.theme = theme; bedColor = theme.ResolveColor(Color.White, theme.BackgroundColor.WithAlpha(111)); underBedColor = new Color(bedColor, bedColor.alpha / 4); gridColors = new GridColors() { Gray = theme.ResolveColor(theme.BackgroundColor, theme.GetBorderColor((theme.IsDarkTheme ? 35 : 55))), Red = theme.ResolveColor(theme.BackgroundColor, new Color(Color.Red, (theme.IsDarkTheme ? 105 : 170))), Green = theme.ResolveColor(theme.BackgroundColor, new Color(Color.Green, (theme.IsDarkTheme ? 105 : 170))), Blue = theme.ResolveColor(theme.BackgroundColor, new Color(Color.Blue, 195)) }; }
public MeshViewerWidget(BedConfig sceneContext, InteractionLayer interactionLayer, string startingTextMessage = "", EditorType editorType = EditorType.Part) { this.EditorMode = editorType; this.scene = sceneContext.Scene; this.sceneContext = sceneContext; this.interactionLayer = interactionLayer; this.World = interactionLayer.World; var theme = ApplicationController.Instance.Theme; gridColors = new GridColors() { Gray = theme.ResolveColor(theme.ActiveTabColor, theme.GetBorderColor((theme.Colors.IsDarkTheme ? 35 : 55))), Red = theme.ResolveColor(theme.ActiveTabColor, new Color(Color.Red, (theme.Colors.IsDarkTheme ? 105 : 170))), Green = theme.ResolveColor(theme.ActiveTabColor, new Color(Color.Green, (theme.Colors.IsDarkTheme ? 105 : 170))), Blue = theme.ResolveColor(theme.ActiveTabColor, new Color(Color.Blue, 195)) }; gCodeMeshColor = new Color(theme.Colors.PrimaryAccentColor, 35); scene.SelectionChanged += (sender, e) => { Invalidate(); lastSelectionChangedMs = UiThread.CurrentTimerMs; }; BedColor = new ColorF(.8, .8, .8, .7).ToColor(); BuildVolumeColor = new ColorF(.2, .8, .3, .2).ToColor(); this.interactionLayer.DrawGlTransparentContent += Draw_GlTransparentContent; if (ViewOnlyTexture == null) { UiThread.RunOnIdle(() => { ViewOnlyTexture = new ImageBuffer(32, 32, 32); var graphics2D = ViewOnlyTexture.NewGraphics2D(); graphics2D.Clear(Color.White); graphics2D.FillRectangle(0, 0, ViewOnlyTexture.Width / 2, ViewOnlyTexture.Height, Color.LightGray); // request the texture so we can set it to repeat var plugin = ImageGlPlugin.GetImageGlPlugin(ViewOnlyTexture, true, true, false); }); } }
public MeshViewerWidget(BedConfig sceneContext, InteractionLayer interactionLayer, ThemeConfig theme, EditorType editorType = EditorType.Part) { this.EditorMode = editorType; this.scene = sceneContext.Scene; this.sceneContext = sceneContext; this.interactionLayer = interactionLayer; this.World = interactionLayer.World; this.theme = theme; gridColors = new GridColors() { Gray = theme.ResolveColor(theme.BackgroundColor, theme.GetBorderColor((theme.IsDarkTheme ? 35 : 55))), Red = theme.ResolveColor(theme.BackgroundColor, new Color(Color.Red, (theme.IsDarkTheme ? 105 : 170))), Green = theme.ResolveColor(theme.BackgroundColor, new Color(Color.Green, (theme.IsDarkTheme ? 105 : 170))), Blue = theme.ResolveColor(theme.BackgroundColor, new Color(Color.Blue, 195)) }; gCodeMeshColor = new Color(theme.PrimaryAccentColor, 35); // Register listeners scene.SelectionChanged += selection_Changed; BuildVolumeColor = new ColorF(.2, .8, .3, .2).ToColor(); this.interactionLayer.DrawGlTransparentContent += Draw_GlTransparentContent; if (ViewOnlyTexture == null) { // TODO: What is the ViewOnlyTexture??? UiThread.RunOnIdle(() => { ViewOnlyTexture = new ImageBuffer(32, 32, 32); var graphics2D = ViewOnlyTexture.NewGraphics2D(); graphics2D.Clear(Color.White); graphics2D.FillRectangle(0, 0, ViewOnlyTexture.Width / 2, ViewOnlyTexture.Height, Color.LightGray); // request the texture so we can set it to repeat var plugin = ImageGlPlugin.GetImageGlPlugin(ViewOnlyTexture, true, true, false); }); } }