cs193p-emojiart/EmojiArt/EmojiArtModel.swift
Ching 89d38faea4 feat(view, viewmodel, model): 增加 document 和 palette,增加手势
1. 可以从另一个 app 中拖入图片或图片链接作为背景
2. 可以从 palette 中拖入 emoji
3. 可以拖动和双击缩放背景图

Signed-off-by: Ching <loooching@gmail.com>
2023-02-20 21:45:33 +08:00

41 lines
870 B
Swift

//
// EmojiArtModel.swift
// EmojiArt
//
// Created by ching on 2023/2/19.
//
import Foundation
struct EmojiArtModel {
var background: Background = EmojiArtModel.Background.blank
var emojis = [Emoji]()
struct Emoji: Identifiable {
let text: String
var x: Int
var y: Int
var size: Int
var id: Int
fileprivate init(text: String, x: Int, y: Int, size: Int, id: Int) {
self.text = text
self.x = x
self.y = y
self.size = size
self.id = id
}
}
init() {
}
private var uniqueEmojiId = 0
mutating func addEmoji(_ text: String, at location: (x: Int, y: Int), size: Int) {
uniqueEmojiId += 1
emojis.append(Emoji(text: text, x: location.x, y: location.y, size: size, id: uniqueEmojiId))
}
}