1. 可以从另一个 app 中拖入图片或图片链接作为背景 2. 可以从 palette 中拖入 emoji 3. 可以拖动和双击缩放背景图 Signed-off-by: Ching <loooching@gmail.com>
41 lines
870 B
Swift
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))
|
|
}
|
|
|
|
}
|