From 75f43d038ca31fe0c6ad99c8f081265c38493364 Mon Sep 17 00:00:00 2001 From: dsehnal <david.sehnal@gmail.com> Date: Fri, 15 Jan 2021 18:37:29 +0100 Subject: [PATCH] PluginConfig.General.ForceWboitAntialiasing --- src/mol-canvas3d/canvas3d.ts | 4 ++-- src/mol-plugin/config.ts | 3 ++- src/mol-plugin/context.ts | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/mol-canvas3d/canvas3d.ts b/src/mol-canvas3d/canvas3d.ts index f623cb9b8..4dff0919b 100644 --- a/src/mol-canvas3d/canvas3d.ts +++ b/src/mol-canvas3d/canvas3d.ts @@ -150,8 +150,8 @@ namespace Canvas3D { export interface DragEvent { current: Representation.Loci, buttons: ButtonsType, button: ButtonsType.Flag, modifiers: ModifiersKeys, pageStart: Vec2, pageEnd: Vec2 } export interface ClickEvent { current: Representation.Loci, buttons: ButtonsType, button: ButtonsType.Flag, modifiers: ModifiersKeys, page?: Vec2, position?: Vec3 } - export function fromCanvas(canvas: HTMLCanvasElement, props: Partial<Canvas3DProps> = {}, attribs: Partial<{ antialias: boolean, pixelScale: number, pickScale: number, enableWboit: boolean }> = {}) { - const antialias = (attribs.antialias ?? true) && !attribs.enableWboit; + export function fromCanvas(canvas: HTMLCanvasElement, props: Partial<Canvas3DProps> = {}, attribs: Partial<{ antialias: boolean, forceAntialias: boolean, pixelScale: number, pickScale: number, enableWboit: boolean }> = {}) { + const antialias = !!attribs.forceAntialias || ((attribs.antialias ?? true) && !attribs.enableWboit); const gl = getGLContext(canvas, { alpha: true, antialias, diff --git a/src/mol-plugin/config.ts b/src/mol-plugin/config.ts index f1cdc3002..77be4292f 100644 --- a/src/mol-plugin/config.ts +++ b/src/mol-plugin/config.ts @@ -26,7 +26,8 @@ export const PluginConfig = { DisableAntialiasing: item('plugin-config.disable-antialiasing', false), PixelScale: item('plugin-config.pixel-scale', 1), PickScale: item('plugin-config.pick-scale', 0.25), - EnableWboit: item('plugin-config.enable-wboit', false) + EnableWboit: item('plugin-config.enable-wboit', false), + ForceWboitAntialiasing: item('plugin-config.force-wboit-antialiasing', false), }, State: { DefaultServer: item('plugin-state.server', 'https://webchem.ncbr.muni.cz/molstar-state'), diff --git a/src/mol-plugin/context.ts b/src/mol-plugin/context.ts index 159fd080e..5fc19a7ad 100644 --- a/src/mol-plugin/context.ts +++ b/src/mol-plugin/context.ts @@ -192,7 +192,8 @@ export class PluginContext { const pixelScale = this.config.get(PluginConfig.General.PixelScale) || 1; const pickScale = this.config.get(PluginConfig.General.PickScale) || 0.25; const enableWboit = this.config.get(PluginConfig.General.EnableWboit) || false; - (this.canvas3d as Canvas3D) = Canvas3D.fromCanvas(canvas, {}, { antialias, pixelScale, enableWboit, pickScale }); + const forceWboitAntialias = !(this.config.get(PluginConfig.General.ForceWboitAntialiasing) ?? false); + (this.canvas3d as Canvas3D) = Canvas3D.fromCanvas(canvas, {}, { antialias, forceAntialias: forceWboitAntialias, pixelScale, enableWboit, pickScale }); this.canvas3dInit.next(true); let props = this.spec.components?.viewport?.canvas3d; -- GitLab