1. EuApp

I have been pleased to see that Matt Arriola's EuApp is still working under Debian Linux 8 32-bit. It didn't work when I used 64-bit Linux distributions.

I hope to be able to build a GUI on this in the KISS philosophy.

Jean-Marc

new topic     » topic index » view message » categorize

2. Re: EuApp

I think EuGTK has the best hope of working well across platforms. It already works on both Linux and WIndows but on 32-bit only.

SD Pringle

new topic     » goto parent     » topic index » view message » categorize

3. Re: EuApp

SDPringle said...

I think EuGTK has the best hope of working well across platforms. It already works on both Linux and WIndows but on 32-bit only.

SD Pringle

It's the other way around - 32bit Windoze users are the ones who have reported problems in the past.

http://openeuphoria.org/forum/m/128549.wc

http://openeuphoria.org/forum/m/128550.wc

Meanwhile, it just works on 64bit Windoze...

http://openeuphoria.org/forum/m/128982.wc

new topic     » goto parent     » topic index » view message » categorize

4. Re: EuApp

jimcbrown said...
SDPringle said...

I think EuGTK has the best hope of working well across platforms. It already works on both Linux and WIndows but on 32-bit only.

SD Pringle

It's the other way around - 32bit Windoze users are the ones who have reported problems in the past.

http://openeuphoria.org/forum/m/128549.wc

http://openeuphoria.org/forum/m/128550.wc

Meanwhile, it just works on 64bit Windoze...

http://openeuphoria.org/forum/m/128982.wc

I stand corrected. I tried the demos on a loaned 32-bit box and the demos work fine on Linux-32bit. It is surprising the user has all of the demos working but his code doesn't work. Perhaps the libraries are relying on being installed in $HOME/demo. That would be lame. It is possible the user has bugs in his code. Do the demos work in linux 64-bit?

SD Pringle

new topic     » goto parent     » topic index » view message » categorize

5. Re: EuApp

SDPringle said...

I stand corrected. I tried the demos on a loaned 32-bit box and the demos work fine on Linux-32bit. Do the demos work in linux 64-bit?

AFAIK, yes. It was only Windoze that had issues.

SDPringle said...

It is surprising the user has all of the demos working but his code doesn't work. Perhaps the libraries are relying on being installed in $HOME/demo. That would be lame. It is possible the user has bugs in his code.

If you look at the old thread, it's the GTK demos (written in C) that worked, the euGTK demos (written in Eu) did not work (until EuGTK itself was fixed).

_tom said...
  • installed a "gtk bundle" to c:/gtk and the gtk3-demo works properly

No visible GUI at all. There is a short pause and oE just quits. No message about not finding GTK files.

new topic     » goto parent     » topic index » view message » categorize

6. Re: EuApp

jmduro said...

I have been pleased to see that Matt Arriola's EuApp is still working under Debian Linux 8 32-bit. It didn't work when I used 64-bit Linux distributions.

I hope to be able to build a GUI on this in the KISS philosophy.

Jean-Marc

I took a quick look, and that package inclues a 32 bit shared library (.so), which is why it won't work on 64 bits.

README say

said...

euApp uses a slightly modified version of GraphApp 3.48 called libeuapp.so

The source for libeuapp.so does not seem to be available.

GraphApp itself is open-source though ( see http://enchantia.com/software/graphapp/package/about/LICENCE.TXT ), so perhaps someone could attempt to reconstruct it.

new topic     » goto parent     » topic index » view message » categorize

7. Re: EuApp

jimcbrown said...

I took a quick look, and that package inclues a 32 bit shared library (.so), which is why it won't work on 64 bits.

README say

said...

euApp uses a slightly modified version of GraphApp 3.48 called libeuapp.so

The source for libeuapp.so does not seem to be available.

GraphApp itself is open-source though ( see http://enchantia.com/software/graphapp/package/about/LICENCE.TXT ), so perhaps someone could attempt to reconstruct it.

I tried this. I grabbed the source and built a 32bit version of GraphApp using make dynamic (using /usr/share/apps/font as the font dir which I pulled out of libeuapp.so). I then started ex01.exu and it came up. (Had to rename switch() in ex01.exu to sswitch() and GraphApp.eu defined get_image_area() twice for some reason, but after that it came up.) So no mods necessary....

I then tried to build GraphApp on 64bits. It took some work to build, I got a weird error on x11/timer.c (something about %rcx and l being the wrong size) and had to use the BSD version of sleep, and I had to edit the Makefile to make it build everything with fPIC. (Seeing that GraphApp was last updated in 2005, I suspect that it may not have been tried on 64 bits before.)

I got it to build eventually, and with more makefile tweaking I was able to build and run the GraphApp smiley demo (the C one).

64bit eu won't run any eugraphapp demos though. I get a BadValue from libX11 (Protocol request 1, minor request code 0, resource id 0x0, integer parameter out of range for operation).

I tracked this down to the passing of Rect structures to the C code. It's a structure passed by value instead of a pointer. The eu code just passes down 4 ints.

Not sure why this trick works fine on 32bit but not on 64bit.

If I hack the C code to explicitly pass the rect value as 4 integers (instead of a single Rect struct parameter), then I can get a window to pop up.

new topic     » goto parent     » topic index » view message » categorize

8. Re: EuApp

As Jim wrote, there is some work to be done to get version 3.64 compiled. Here is what I did on Linux Debian 8 32-bits.

sudo apt-get install libx11-dev 
mkdir -p ~/apps/app/fonts 
cd GraphApp_3.64/src/ 
./configure /usr/lib/i386-linux-gnu 
make dynamic 
sudo cp libapp.so /usr/local/lib/libapp.so 
sudo ldconfig /usr/local/lib 
cd .. 
cp -R * ~/apps/app/ 
cd ~/apps/app/examples 
Edit Makefile 
Change APP_PATH to 
APP_PATH = $(HOME)/apps/app/src 
Change X11LIB to 
X11LIB   = /usr/lib/i386-linux-gnu 
make all 

There are a lot of new functions in release 3.64 to be wrapped:

Functions that were in release 3.48 and seem to be removed

  • euapp_fill_rect
  • app_file_has_resources

New functions in release 3.64

  • app_activate_control
  • app_add_control
  • app_add_note_button
  • app_add_separator
  • app_add_splitter
  • app_alloc
  • app_append_to_image_list
  • app_arm
  • app_attach_to_control
  • app_attach_to_window
  • app_bitmap_to_image
  • app_center_rect
  • app_change_default_font
  • app_clip_line_to_rect
  • app_clip_rect
  • app_close_file
  • app_close_folder
  • app_rgbs_equal
  • app_rgbs_equal
  • app_copy_bits
  • app_copy_region
  • app_copy_rgbs
  • app_copy_string
  • app_correct_utf8
  • app_current_folder
  • app_debug_memory
  • app_del_bitmap
  • app_del_control
  • app_del_cursor
  • app_del_image_list
  • app_del_image_reader
  • app_del_menu
  • app_del_menu_bar
  • app_del_palette
  • app_del_region
  • app_del_string
  • app_del_string_table
  • app_disarm
  • app_do_event
  • app_draw_all
  • app_draw_control
  • app_error
  • app_exec
  • app_file_info
  • app_file_size
  • app_file_time
  • app_fill_region
  • app_find_best_cursor_size
  • app_font_char_info
  • app_form_file_path
  • app_free
  • app_get_bitmap_area
  • app_get_control_area
  • app_get_control_background
  • app_get_control_cursor
  • app_get_control_data
  • app_get_control_foreground
  • app_get_cursor_position
  • app_get_file_name
  • app_get_image_area
  • app_get_menu_bar_font
  • app_get_menu_font
  • app_get_menu_foreground
  • app_get_menu_item_font
  • app_get_menu_item_foreground
  • app_get_mouse_event
  • app_get_standard_cursor
  • app_get_string
  • app_get_window_data
  • app_get_window_palette
  • app_get_window_under_cursor
  • app_image_find_colour
  • app_image_has_transparent_pixels
  • app_image_to_bitmap
  • app_insert_node
  • app_inset_rect
  • app_intersect_region
  • app_intersect_region_with_rect
  • app_is_armed
  • app_is_highlighted (changement de nom ? ex app_highlight)
  • app_locate_control
  • app_locate_node
  • app_make_folder
  • app_alloc
  • app_manager_hbox
  • app_manager_vbox
  • app_memory_used
  • app_menu_item_is_enabled
  • app_move_region
  • app_move_window
  • app_new_argb
  • app_new_bitmap
  • app_new_rgb
  • app_new_rgb
  • app_new_cursor
  • app_new_image_list
  • app_new_image_reader
  • app_new_note_button
  • app_new_palette
  • app_new_point
  • app_new_rect
  • app_new_rect_region
  • app_new_region
  • app_new_rgb
  • app_new_separator
  • app_new_splitter
  • app_new_string_table
  • app_on_control_action
  • app_on_control_deletion
  • app_on_control_redraw
  • app_on_control_refocus
  • app_on_control_resize
  • app_on_control_update
  • app_on_window_move
  • app_open_file
  • app_open_folder
  • app_palette_translation
  • app_peek_event
  • app_place_window_controls
  • app_point_in_rect
  • app_point_in_region
  • app_points_equal
  • app_process_events
  • app_read_folder
  • app_read_latin1_file
  • app_read_latin1_line
  • app_read_utf8_char
  • app_read_utf8_file
  • app_read_utf8_line
  • app_realloc
  • app_rect_abs
  • app_rect_in_rect
  • app_rect_in_region
  • app_rect_intersects_rect
  • app_rect_intersects_region
  • app_rects_equal
  • app_redraw_control_rect
  • app_regex_match
  • app_region_is_empty
  • app_regions_equal
  • app_remove_control
  • app_remove_file
  • app_remove_folder
  • app_remove_node
  • app_rename_file
  • app_rename_folder
  • app_rgbs_equal
  • app_send_control_to_back
  • app_set_rgb
  • app_set_control_area
  • app_set_control_autosize
  • app_set_control_border
  • app_set_control_cursor
  • app_set_control_data
  • app_set_control_gap
  • app_set_control_layout
  • app_set_control_tip
  • app_set_current_folder
  • app_set_cursor_position
  • app_set_menu_bar_font
  • app_set_menu_font
  • app_set_menu_item_font
  • app_set_string
  • app_set_text_direction
  • app_set_window_cursor
  • app_set_window_data
  • app_set_window_icon
  • app_set_window_palette
  • app_size_window
  • app_subtract_region
  • app_text_height
  • app_text_line_length
  • app_text_width
  • app_texture_rect
  • app_traverse_string_table
  • app_unicode_char_to_utf8
  • app_unicode_to_utf8
  • app_union_region
  • app_union_region_with_rect
  • app_utf8_char_to_unicode
  • app_utf8_is_ascii
  • app_utf8_is_latin1
  • app_utf8_length
  • app_utf8_to_latin1
  • app_utf8_to_unicode
  • app_wait_event
  • app_write_latin1
  • app_write_utf8
  • app_xor_region
  • app_zero_alloc

Jean-Marc

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu