11import { LogicalSize } from "@tauri-apps/api/dpi" ;
22import { useAtom } from "jotai" ;
3- import { ChevronLeft , Copy , Cpu , Menu , Minus , PanelTop , Square , Tag , X , Zap } from "lucide-react" ;
3+ import { ChevronLeft , Copy , Cpu , FlaskConical , Menu , Minus , PanelTop , Square , Tag , X , Zap } from "lucide-react" ;
44import React from "react" ;
55import { useTranslation } from "react-i18next" ;
66import { Outlet , useLocation , useNavigate } from "react-router-dom" ;
77import Button from "../components/Button" ;
88import { Dialog } from "../components/dialog" ;
99import IconButton from "../components/IconButton" ;
10+ import { Renderer } from "../core/render/canvas2d/renderer" ;
1011import { StageSaveManager } from "../core/service/dataFileService/StageSaveManager" ;
1112import { Settings } from "../core/service/Settings" ;
1213import { Themes } from "../core/service/Themes" ;
@@ -15,15 +16,15 @@ import { StageDumper } from "../core/stage/StageDumper";
1516import { fileAtom , isClassroomModeAtom , isWindowCollapsingAtom } from "../state" ;
1617import { cn } from "../utils/cn" ;
1718import { PathString } from "../utils/pathString" ;
18- import { appScale , getCurrentWindow , isDesktop , isFrame , isMac , isMobile , isWeb } from "../utils/platform" ;
19+ import { appScale , getCurrentWindow , isDesktop , isFrame , isIpad , isMac , isMobile , isWeb } from "../utils/platform" ;
1920import AppMenu from "./_app_menu" ;
2021import ErrorHandler from "./_fixed_panel/_error_handler" ;
22+ import ExportPNGPanel from "./_fixed_panel/_export_png_panel" ;
2123import ExportTreeTextPanel from "./_fixed_panel/_export_text_panel" ;
2224import LogicNodePanel from "./_fixed_panel/_logic_node_panel" ;
2325import RecentFilesPanel from "./_fixed_panel/_recent_files_panel" ;
2426import StartFilePanel from "./_fixed_panel/_start_file_panel" ;
2527import TagPanel from "./_fixed_panel/_tag_panel" ;
26- import ExportPNGPanel from "./_fixed_panel/_export_png_panel" ;
2728
2829export default function App ( ) {
2930 const [ maxmized , setMaxmized ] = React . useState ( false ) ;
@@ -381,7 +382,7 @@ export default function App() {
381382 < Zap className = { cn ( "cursor-pointer" , isStartFilePanelOpen ? "rotate-45 scale-125" : "" ) } />
382383 </ IconButton >
383384 ) }
384- { isDesktop && (
385+ { isDesktop && ! isIpad && (
385386 < IconButton
386387 className = { cn (
387388 isWindowCollapsing && "h-2 w-2 border-green-300 bg-green-500" ,
@@ -407,6 +408,24 @@ export default function App() {
407408 < PanelTop className = { cn ( "cursor-pointer" , isWindowCollapsing ? "rotate-180 scale-125" : "" ) } />
408409 </ IconButton >
409410 ) }
411+ { /* ipad测试按钮 */ }
412+ { isIpad && (
413+ < IconButton
414+ onClick = { ( ) => {
415+ Renderer . resizeWindow ( window . innerWidth , window . innerHeight ) ;
416+
417+ let printData = `Renderer w,h: ${ Renderer . w } , ${ Renderer . h } \n` ;
418+ printData += `window inner: ${ window . innerWidth } , ${ window . innerHeight } ` ;
419+ printData += `window: ${ window . outerWidth } , ${ window . outerHeight } ` ;
420+ Dialog . show ( {
421+ title : "ipad 测试" ,
422+ content : printData ,
423+ } ) ;
424+ } }
425+ >
426+ < FlaskConical />
427+ </ IconButton >
428+ ) }
410429
411430 { /* 右上角窗口控制按钮 */ }
412431 { isDesktop && ! isWindowCollapsing && ! useNativeTitleBar && ! isMac && ! isWeb && (
0 commit comments