# See the License for the specific language governing permissions and
# limitations under the License.
-module linux_opengles1
+module linux_opengles1 is pkgconfig("x11")
-import mnit # for
-# import opengles1
+import mnit::opengles1
import sdl
-in "C Header" `{
- #define LOGW(...) ((void)fprintf(stderr, "# warn: %s", __VA_ARGS__))
- #ifdef DEBUG
- #define LOGI(...) ((void)fprintf(stderr, "# info: %s", __VA_ARGS__))
- #else
- #define LOGI(...) (void)0
- #endif
-`}
-
in "C" `{
NativeWindowType mnit_window;
EGLNativeDisplayType mnit_native_display;
fun wanted_height: Int do return 600
end
-redef class Opengles1Display # in "C" `{struct mnit_opengles_Texture *`}
+redef class Opengles1Display
# display managing the window, events, fonts? and image loading?
var sdl_display: SDLDisplay
return super
end
- fun init_from_sdl( sdl_display: SDLDisplay ): Bool is extern `{
+ fun init_from_sdl( sdl_display: SDLDisplay ): Bool `{
mnit_sdl_surface = sdl_display;
mnit_window = (NativeWindowType)XOpenDisplay(NULL);
end
end
-redef extern Opengles1Image
- new from_sdl_image( sdl_image: SDLImage ) is extern `{
- return mnit_opengles_load_image( sdl_image->pixels, sdl_image->w, sdl_image->h, sdl_image->format->Amask );
+redef extern class Opengles1Image
+ new from_sdl_image( sdl_image: SDLImage ) `{
+ return mnit_opengles_load_image( sdl_image->pixels,
+ sdl_image->w, sdl_image->h,
+ sdl_image->w, sdl_image->h, sdl_image->format->Amask );
`}
# using sdl
- new from_file( path: String ) is extern import String.to_cstring `{
+ new from_file( path: String ) import String.to_cstring `{
SDL_Surface *sdl_image;
struct mnit_opengles_Texture *opengles_image;
sdl_image = IMG_Load( String_to_cstring( path ) );
if ( !sdl_image ) {
- LOGW( "SDL failed to load image <%s>: %s\n", String_to_cstring( path ), IMG_GetError() );
+ fprintf(stderr, "SDL failed to load image <%s>: %s\n", String_to_cstring(path), IMG_GetError());
return NULL;
} else {
- opengles_image = mnit_opengles_load_image( sdl_image->pixels, sdl_image->w, sdl_image->h, sdl_image->format->Amask );
+ opengles_image = mnit_opengles_load_image( sdl_image->pixels,
+ sdl_image->w, sdl_image->h,
+ sdl_image->w, sdl_image->h, sdl_image->format->Amask );
SDL_FreeSurface(sdl_image);
return opengles_image;
}