diff --git a/src/mol-canvas3d/canvas3d.ts b/src/mol-canvas3d/canvas3d.ts index f623cb9b818061a406c7e6e33e9ea7a1dbe5507d..4dff0919bc54fdff2c7830de1b1ef5632e13a729 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 f1cdc3002db168ce2ef08c066f37417ab101804c..77be4292fec76517c16270ea7d7c0ba10e16d213 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 159fd080ebdc04015b3593f4f9c1e0a703ee87e2..5fc19a7ad24f26d3a416ba1dd795ca1ca3b1416d 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;