index.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import GCanvas from './env/canvas';
  2. import GImage from './env/image';
  3. import GWebGLRenderingContext from './context-webgl/RenderingContext';
  4. import GContext2D from './context-2d/RenderingContext';
  5. import GBridgeWeex from './bridge/bridge-weex';
  6. export let Image = GImage;
  7. export let WeexBridge = GBridgeWeex;
  8. export function enable(el, {
  9. bridge,
  10. debug,
  11. disableAutoSwap,
  12. disableComboCommands
  13. } = {}) {
  14. const GBridge = GImage.GBridge = GCanvas.GBridge = GWebGLRenderingContext.GBridge = GContext2D.GBridge = bridge;
  15. GBridge.callEnable(el.ref, [
  16. 0, // renderMode: 0--RENDERMODE_WHEN_DIRTY, 1--RENDERMODE_CONTINUOUSLY
  17. -1, // hybridLayerType: 0--LAYER_TYPE_NONE 1--LAYER_TYPE_SOFTWARE 2--LAYER_TYPE_HARDWARE
  18. false, // supportScroll
  19. false, // newCanvasMode
  20. 1, // compatible
  21. 'white', // clearColor
  22. false // sameLevel: newCanvasMode = true && true => GCanvasView and Webview is same level
  23. ]);
  24. if (debug === true) {
  25. GBridge.callEnableDebug();
  26. }
  27. if (disableComboCommands) {
  28. GBridge.callEnableDisableCombo();
  29. }
  30. var canvas = new GCanvas(el.ref, {
  31. disableAutoSwap
  32. });
  33. let pixelRatio = uni.getSystemInfoSync().pixelRatio;
  34. canvas.width = el.style.width * pixelRatio;
  35. canvas.height = el.style.height * pixelRatio;
  36. return canvas;
  37. };