summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkWatermarkEditorDialog.Layer.vue
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/components/MkWatermarkEditorDialog.Layer.vue')
-rw-r--r--packages/frontend/src/components/MkWatermarkEditorDialog.Layer.vue24
1 files changed, 23 insertions, 1 deletions
diff --git a/packages/frontend/src/components/MkWatermarkEditorDialog.Layer.vue b/packages/frontend/src/components/MkWatermarkEditorDialog.Layer.vue
index 288293db3f..b34181e5cc 100644
--- a/packages/frontend/src/components/MkWatermarkEditorDialog.Layer.vue
+++ b/packages/frontend/src/components/MkWatermarkEditorDialog.Layer.vue
@@ -65,6 +65,10 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkSwitch v-model="layer.repeat">
<template #label>{{ i18n.ts._watermarkEditor.repeat }}</template>
</MkSwitch>
+
+ <MkSwitch v-model="layerPreserveBoundingRect">
+ <template #label>{{ i18n.ts._watermarkEditor.preserveBoundingRect }}</template>
+ </MkSwitch>
</template>
<template v-else-if="layer.type === 'image'">
@@ -129,6 +133,10 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkSwitch v-model="layer.cover">
<template #label>{{ i18n.ts._watermarkEditor.cover }}</template>
</MkSwitch>
+
+ <MkSwitch v-model="layerPreserveBoundingRect">
+ <template #label>{{ i18n.ts._watermarkEditor.preserveBoundingRect }}</template>
+ </MkSwitch>
</template>
<template v-else-if="layer.type === 'qr'">
@@ -335,7 +343,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</template>
<script setup lang="ts">
-import { ref, onMounted } from 'vue';
+import { ref, onMounted, computed } from 'vue';
import * as Misskey from 'misskey-js';
import type { WatermarkPreset } from '@/utility/watermark.js';
import { i18n } from '@/i18n.js';
@@ -351,6 +359,20 @@ import { misskeyApi } from '@/utility/misskey-api.js';
const layer = defineModel<WatermarkPreset['layers'][number]>('layer', { required: true });
+const layerPreserveBoundingRect = computed({
+ get: () => {
+ if (layer.value.type === 'text' || layer.value.type === 'image') {
+ return !layer.value.noBoundingBoxExpansion;
+ }
+ return false;
+ },
+ set: (v: boolean) => {
+ if (layer.value.type === 'text' || layer.value.type === 'image') {
+ layer.value.noBoundingBoxExpansion = !v;
+ }
+ },
+});
+
const driveFile = ref<Misskey.entities.DriveFile | null>(null);
const driveFileError = ref(false);
onMounted(async () => {