From 849674f8471ee17bfed7e19abef0b0758f3884db Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Sat, 24 Sep 2011 19:19:34 -0700 Subject: [PATCH] images: only register with the images.loader on proper platform. Fixes #172. Fixes #173. --- basis/images/cocoa/cocoa.factor | 20 ++++++++++++-------- basis/images/gdiplus/gdiplus.factor | 20 ++++++++++++-------- basis/images/gtk/gtk.factor | 20 ++++++++++++-------- 3 files changed, 36 insertions(+), 24 deletions(-) diff --git a/basis/images/cocoa/cocoa.factor b/basis/images/cocoa/cocoa.factor index a308d3f475..b2e14ddd66 100644 --- a/basis/images/cocoa/cocoa.factor +++ b/basis/images/cocoa/cocoa.factor @@ -4,17 +4,21 @@ USING: accessors alien.data cocoa cocoa.classes cocoa.messages combinators core-foundation.data core-graphics core-graphics.types fry locals images images.loader io kernel math sequences ; +FROM: system => os macosx? ; IN: images.cocoa SINGLETON: ns-image -"png" ns-image register-image-class -"tif" ns-image register-image-class -"tiff" ns-image register-image-class -"gif" ns-image register-image-class -"jpg" ns-image register-image-class -"jpeg" ns-image register-image-class -"bmp" ns-image register-image-class -"ico" ns-image register-image-class + +os macosx? [ + "png" ns-image register-image-class + "tif" ns-image register-image-class + "tiff" ns-image register-image-class + "gif" ns-image register-image-class + "jpg" ns-image register-image-class + "jpeg" ns-image register-image-class + "bmp" ns-image register-image-class + "ico" ns-image register-image-class +] when CONSTANT: NSImageRepLoadStatusUnknownType -1 CONSTANT: NSImageRepLoadStatusReadingHeader -2 diff --git a/basis/images/gdiplus/gdiplus.factor b/basis/images/gdiplus/gdiplus.factor index d97bd5c467..1bdb6526f2 100644 --- a/basis/images/gdiplus/gdiplus.factor +++ b/basis/images/gdiplus/gdiplus.factor @@ -3,17 +3,21 @@ USING: accessors alien.c-types alien.data alien.enums classes.struct destructors images images.loader kernel locals math windows.com windows.gdiplus windows.streams windows.types typed byte-arrays grouping sequences ; +FROM: system => os windows? ; IN: images.gdiplus SINGLETON: gdi+-image -"png" gdi+-image register-image-class -"tif" gdi+-image register-image-class -"tiff" gdi+-image register-image-class -"gif" gdi+-image register-image-class -"jpg" gdi+-image register-image-class -"jpeg" gdi+-image register-image-class -"bmp" gdi+-image register-image-class -"ico" gdi+-image register-image-class + +os windows? [ + "png" gdi+-image register-image-class + "tif" gdi+-image register-image-class + "tiff" gdi+-image register-image-class + "gif" gdi+-image register-image-class + "jpg" gdi+-image register-image-class + "jpeg" gdi+-image register-image-class + "bmp" gdi+-image register-image-class + "ico" gdi+-image register-image-class +] when ( x y w h -- rect ) diff --git a/basis/images/gtk/gtk.factor b/basis/images/gtk/gtk.factor index 4957a4d216..05015c2dfc 100644 --- a/basis/images/gtk/gtk.factor +++ b/basis/images/gtk/gtk.factor @@ -4,18 +4,22 @@ USING: accessors alien.c-types alien.data arrays combinators destructors gdk.pixbuf.ffi gobject.ffi grouping images images.loader io kernel locals math sequences specialized-arrays ; +FROM: system => os linux freebsd netbsd openbsd ; IN: images.gtk SPECIALIZED-ARRAY: uchar SINGLETON: gtk-image -"png" gtk-image register-image-class -"tif" gtk-image register-image-class -"tiff" gtk-image register-image-class -"gif" gtk-image register-image-class -"jpg" gtk-image register-image-class -"jpeg" gtk-image register-image-class -"bmp" gtk-image register-image-class -"ico" gtk-image register-image-class + +os { linux freebsd netbsd openbsd } member? [ + "png" gtk-image register-image-class + "tif" gtk-image register-image-class + "tiff" gtk-image register-image-class + "gif" gtk-image register-image-class + "jpg" gtk-image register-image-class + "jpeg" gtk-image register-image-class + "bmp" gtk-image register-image-class + "ico" gtk-image register-image-class +] when