浏览代码

fix: tres-canvas window-size now support 'true' string

alvarosabu 2 年之前
父节点
当前提交
a63e33f28f

+ 1 - 1
playground/src/components/TheFirstScene.vue

@@ -9,7 +9,7 @@ watchEffect(() => {
 </script>
 
 <template>
-  <TresCanvas ref="context" clear-color="#82DBC5" window-size="true">
+  <TresCanvas ref="context" clear-color="#82DBC5" window-size>
     <TresPerspectiveCamera />
     <TresMesh>
       <TresTorusGeometry :args="[1, 0.5, 16, 32]" />

+ 1 - 2
playground/src/style.css

@@ -1,4 +1,4 @@
-/* html,
+html,
 body {
   margin: 0;
   padding: 0;
@@ -9,4 +9,3 @@ body {
   height: 100%;
   width: 100%;
 }
- */

+ 5 - 2
src/composables/useRenderer/index.ts

@@ -108,7 +108,7 @@ export interface UseRendererOptions extends WebGLRendererParameters {
    * @default 0x000000
    */
   clearColor?: MaybeComputedRef<TresColor>
-  windowSize?: MaybeComputedRef<boolean>
+  windowSize?: MaybeComputedRef<boolean | string>
   preset?: RendererPresetsType
 }
 
@@ -148,7 +148,10 @@ export function useRenderer(options: UseRendererOptions) {
 
   const { state, setState } = useTres()
 
-  const { width, height } = resolveUnref(windowSize) ? useWindowSize() : useElementSize(state.container)
+  const { width, height } =
+    resolveUnref(windowSize) == true || resolveUnref(windowSize) === '' || resolveUnref(windowSize) === 'true'
+      ? useWindowSize()
+      : useElementSize(state.container)
   const { logError, logWarning } = useLogger()
   const { pixelRatio } = useDevicePixelRatio()
   const { pause, resume } = useRenderLoop()

+ 1 - 1
src/core/nodeOps.ts

@@ -1,5 +1,5 @@
 import { BufferAttribute } from 'three'
-import { useCamera, useLogger } from '/@/composables'
+import { useCamera } from '/@/composables'
 import { RendererOptions } from 'vue'
 import { catalogue } from './catalogue'
 import { isFunction } from '@vueuse/core'