diff --git a/desktop/gametodos.txt b/desktop/gametodos.txt index ce2b83ee..953fc694 100644 --- a/desktop/gametodos.txt +++ b/desktop/gametodos.txt @@ -7,7 +7,6 @@ obvious about calculating path? seems to just pause a long time Reenable mobile screenshots - Static images for mobile screenshots? Lying down at start of jail -Two finger panning? Pinching end is wrong, sometimes clicks Improve padding on text so it's more clickable diff --git a/desktop/src-common/advent/utils.clj b/desktop/src-common/advent/utils.clj index 89038eee..93995232 100644 --- a/desktop/src-common/advent/utils.clj +++ b/desktop/src-common/advent/utils.clj @@ -212,32 +212,16 @@ (def screenshot-chan (chan)) (defn publish-screenshot-fn [] - (iosify - (do - (import '[advent.core Saver]) - (log/info "Taking IOS screenshot...") - (let [screenshot-data (advent.core.Saver/takeScreenshot)] - (fn [] - (let [png-data (.getBytes (.toPNGData screenshot-data)) - _ (.dispose screenshot-data) - big (Pixmap. png-data 0 (alength png-data)) - resized (Pixmap. 160 120 Pixmap$Format/RGB888)] - (.drawPixmap resized big 0 0 (.getWidth big) (.getHeight big) 0 0 160 120) - (.dispose big) - - (let [result (advent.core.Saver/flipPixmap resized)] - (.dispose resized) - result))))) - (do - (log/info "Taking Desktop screenshot...") - (Pixmap/setFilter Pixmap$Filter/BiLinear) - (let [viewport (-> @ (resolve 'advent.screens.scene/scene) :screen deref :viewport) - [x y w h g-l g-r] [(.getScreenX ^FitViewport viewport) (.getScreenY ^FitViewport viewport) (.getScreenWidth ^FitViewport viewport) (.getScreenHeight ^FitViewport viewport)] - pm (ScreenUtils/getFrameBufferPixmap x y w h) - resized (Pixmap. 160 120 Pixmap$Format/RGB888)] - (.drawPixmap resized pm 0 0 (.getWidth pm) (.getHeight pm) 0 0 160 120) - (.dispose pm) - (fn [] resized))))) + (do + (log/info "Taking Desktop screenshot...") + (Pixmap/setFilter Pixmap$Filter/BiLinear) + (let [viewport (-> @ (resolve 'advent.screens.scene/scene) :screen deref :viewport) + [x y w h g-l g-r] [(.getScreenX ^FitViewport viewport) (.getScreenY ^FitViewport viewport) (.getScreenWidth ^FitViewport viewport) (.getScreenHeight ^FitViewport viewport)] + pm (ScreenUtils/getFrameBufferPixmap x y w h) + resized (Pixmap. 160 120 Pixmap$Format/RGB888)] + (.drawPixmap resized pm 0 0 (.getWidth pm) (.getHeight pm) 0 0 160 120) + (.dispose pm) + (fn [] resized)))) (defn save [entities id name & [blurb]] @@ -253,10 +237,12 @@ (log/info "writing save file...") (steam/write-bytes (steam/save-file-name id) (.getBytes (pr-str save) "UTF-8")) - (on-gl (let [gl-func (fn [] - (log/info "Screenshot captured. Publishing for persistence") - (put! screenshot-chan [id (publish-screenshot-fn)]))] - (try-times gl-func 3)) )))] + (iosify + nil + (on-gl (let [gl-func (fn [] + (log/info "Screenshot captured. Publishing for persistence") + (put! screenshot-chan [id (publish-screenshot-fn)]))] + (try-times gl-func 3)) ))))] (try-times save-fn 3))) (defn listen-for-screenshots []