libufo-devel Mailing List for UFO: Universal Form Objects
Status: Beta
Brought to you by:
schmidtjf
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(5) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
|
Feb
(1) |
Mar
(3) |
Apr
|
May
(2) |
Jun
|
Jul
(2) |
Aug
(2) |
Sep
|
Oct
|
Nov
(1) |
Dec
(2) |
2003 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
(4) |
Oct
(4) |
Nov
(25) |
Dec
(13) |
2004 |
Jan
(10) |
Feb
|
Mar
(3) |
Apr
(11) |
May
(1) |
Jun
|
Jul
(1) |
Aug
(2) |
Sep
(15) |
Oct
(12) |
Nov
(12) |
Dec
(3) |
2005 |
Jan
(6) |
Feb
(3) |
Mar
(12) |
Apr
(14) |
May
(16) |
Jun
(19) |
Jul
(46) |
Aug
(18) |
Sep
(10) |
Oct
(6) |
Nov
(6) |
Dec
(21) |
2006 |
Jan
|
Feb
|
Mar
(13) |
Apr
(21) |
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
(5) |
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(11) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2016 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: KJ G. v. T. <no...@tr...> - 2017-10-15 04:14:16
|
KJ Gao's Product Hi , KJ Gao has shared these products with you: Personal Message: Hello, I have some great products to show you on Tradesparq. Please take a look at the product we discussed below. Please contact me on Tradesparq if I can be of any help. Thanks. Click here to view KJ Gao's profile. Tungsten Super 18 Shot (TSS) #9,#8.5 Description: TSS is used as the shot for hunting shells. The pellets spread upon leaving the barrel, and the power of the burning charge is divided among the pellets, which means that the energy of any one ball of shot is fairly low. In a hunting context, the product makes shotguns useful primarily for hunting birds and other small games.Tungsten shot properties:Its benefits come from the fact that it is denser than any other shot material, including lead, stee... FOB Price: USD77.24/KG Minimum Order: 10KG Lead Time To Shipment: 25 Port: GUANGZHOU Production Capacity: 10000 Kiloohm/Kiloohms per Month View product on Tradesparq. X10 Tungsten Point for Archery Description: Break-Off is a standard arrowhead equipped with one or more break-offs at its end. This break-off system gives high flexibility for arrow tuning.Shape:Bullet - Shape:This classic form is used very often in Fita target shooting. Through its round shape it is a little gentler to the target and easier to drag out. Material:Tungsten (Wolfram):Tungsten is a brilliant white metal with high hardship, de... FOB Price: USD6/pcs Minimum Order: 50 pcs Lead Time To Shipment: 30 days Port: GUANGZHOU Production Capacity: 10000 pcs per Month View product on Tradesparq. Tungsten Metal Shot jigs 40g Description: Specification:40gTungsten Metal Shot jigs are made of high-density tungsten and is 40% smaller compared to micro jigs made of lead. This jig falls to the bottom fast. This lure can be used for shoreline jigging targeting small trevallys, snappers and other species. FOB Price: USD3.5/PCS Minimum Order: 100PCS Lead Time To Shipment: 25 Port: GUANGZHOU Payment Terms: TT Production Capacity: 5000PCS/MONTH View product on Tradesparq. Tungsten Alloy Core for AP Bullets Description: Tungsten alloy, also called tungsten for short, is used as a new lead-free small caliber core for national defense. Small caliber cores rages from 9mm to 0.50 caliber including 5.56mm, 7.62mm, 9mm, 0.38 and 0.45 caliber, etc., could be produced by tungsten mixtures metal with the same techniques used for the construction of lead-containing bullets but without any poison to environment. It is just as lethal as the standard core of 5.56mm without harming the environment. The day end the use of env... FOB Price: USD3.5/PCS Minimum Order: 100PCS Lead Time To Shipment: 25 Port: GUANGZHOU Payment Terms: TT Production Capacity: 5000PCS/MONTH View product on Tradesparq. Tungsten Alloy Super Weights for AR15 Heavy Buffer Description: This tungsten alloy super weight for AR15 buffer system is manufactured by inculcating the best quality tungsten alloy and pioneering technology under the vigilance of our adept proficientOffered counterweight is used to balance the rotatory motionFurthermore, we provide this tungsten alloy counterweight in different sizes and other technical specifications as per customer's specific requirements at market leading pricesFeatures:Rugged ... FOB Price: USD3.2/PCS Minimum Order: 100PCS Lead Time To Shipment: 25 Port: GUANGZHOU Payment Terms: TT Production Capacity: 10000 Kiloohm/Kiloohms per Month View product on Tradesparq. Wishing you the best in trade, Tradesparq Team. Don't want to receive email notifications? Click here to unsubscribe. Tradesparq values your privacy we will never make your email address available to anybody without your permission. © 2017, Tradesparq LTD. |
From: KJ G. <kj...@gu...> - 2016-01-09 08:01:22
|
<p><strong><em><span style="FONT-SIZE: 14pt;color:black">Hi,</span></em></strong></p><p><strong><em><span style="FONT-SIZE: 14pt;color:black">   Maybe you are not in charge of purchasing.But as you know,the raw material of low price makes your product more <br/>competitive in the market.That means it will make your sell much easier.</span><span style="color:black"><br/><br/></span></em><span style="FONT-SIZE: 18px"><em><span style="color:black">  Please kindly forward this email to the manager of purchase.Or if you would like to,Please advise the email of your purchase.Thanks a lot.<br/><br/></span><span style="color:#070c0">  </span><span style="color:#03333">Our company, GUANGXI CHENTIAN METAL PRODUCTS CO.,LTD. has enjoyed more than ten years' successful experience in manufacturing and supplying tungsten relevant products, such as </span><span style="color:#660cc"><span style="FONT-SIZE: 18pt">Tungsten Super Shot ,Tungsten Alloy Swaging Rod for  Military ,Tungsten Alloy Medium and Large Caliber Ammunition,</span><span style="FONT-SIZE: 18pt"><span style="background-size: initial; background-origin: initial; background-clip: initial">Tungsten Fragment</span>, <span style="background-size: initial; background-origin: initial; background-clip: initial">Tungsten <br/>Alloy Military Spheres</span>, Tungsten Anti-material Rifle Bullets,Tungsten Armour Piercing Bullets,<span style="background-size: initial; background-origin: initial; background-clip: initial">Tungsten Alloy Military Cubes and Tungsten Alloy Super Weights For</span></span><span style="background-size: initial; background-origin: initial; background-clip: initial"><span style="FONT-SIZE: 18pt"> AR15 Buffer Systems</span>.</span></span></em></span></strong></p><p><span style="FONT-SIZE: 14pt;color:black">  <strong><em>Just feel free to contact us upon any inquiry and for any question with many thanks.</em></strong></span></p><p><strong><em><span style="FONT-SIZE: 14pt;color:black">  We look forward to hearing from your email in return.</span></em></strong></p><p><strong><em><span style="FONT-SIZE: 14pt;color:black">Best Reards</span></em></strong></p><p><strong><em><span style="FONT-SIZE: 18pt;color:#03333">KJ GAO</span></em></strong></p><p><strong><em><span style="FONT-SIZE: 18pt;color:#03333">CTO AND CSO</span></em></strong></p><p><strong><em><span style="FONT-SIZE: 18pt;color:#03333">GUANGXI CHENTIAN METAL PRODUCTS <br/>CO.,LTD.</span></em></strong></p><p><strong><em><span style="FONT-SIZE: 18pt;color:#03333">Website:www.guangxitungsten.com</span></em></strong></p><p><strong><em><span style="FONT-SIZE: 18pt;color:#03333">http://chentiantungsten.manufacturer.globalsources.com</span></em></strong></p><p><strong><em><span style="FONT-SIZE: 18pt;color:#03333">Email:kj...@gu...</span></em></strong></p><p><strong><em><span style="FONT-SIZE: 18pt;color:#03333">Add: Luzhai County IndustrialPark, <br/>LiuzhouGuangxi 545600,China </span><br/><span style="FONT-SIZE: 18pt;color:#03333">Tel:0086-772-3600529 Fax: 0086-772-6811659</span></em></strong></p><p><strong><em><span style="FONT-SIZE: 18pt;color:#03333">Cell:008613215340999</span></em></strong></p><p><strong><em><span style="color:#033330;font-size:24px"></span></em></strong> </p><p><br/></p><img width='1px' height='1px' src='http://edm.veryvp.com/o/FB8DA764715B99190E04F76EE6314F70A6E001DF8987E58F857F090B108C2B2E0BE2D0C1E8ABF79927B05FBE9799CC25' /><p>If you don't want to receive these Emails, please click <a href='http://email.veryvp.net/c/eJy1T1uOhDAMOw38LUpDm6Yf_aDQ3mOAsoMEy4iXtLefaLRXWNmOrCiK7NFr4tGVs0dQBAocsExdIRFj5Qi1KjTcef-9X9VPPsunp4l74djzQGoyvdxoMIIMtn48bLl6pZEtcbn453m-iropMAnzuFZ_r4ZtlcUlSoG7xpK2ygTnlIMIOlmKkWolBhqKAKpL7NhGw4mNTRIzKOAWA0YIETtoVeQmJOsc2gAmhejEty2acvfL3F_T9jXmOy_SZpmP86iO7dqHPG37d_4UO_1_J3kDqqJe9g'>unsubscribe</a>.<p><img width="1px" height="1px" alt="" src="http://email.veryvp.net/o/eJwdjkFuhDAMAF9TbkW2N3HsQw4EkodAkhaJlgpYpP39Rr2M5jSa7A1L1m71BMiAoCCNpidmoV6ZDH4YuMvxuv_633J1397OS0WsmevyEFFjnVHWBTEr6Fxq9-PRkDiW7vDbOj_r_pnLXbYW2tbzOvtzfx5LqfvxVf6bl09BpsGxcWiDKipEMMlxjPzAJjBwBMApiYqLVpJYl9prQJCRAkUIkSYYMcoQklMlF8CmELX5OJJ9A8WSPa0"> |
From: Christoph S. <chr...@zh...> - 2008-04-29 19:06:07
|
Hello list I first want to point you to my project, a sound software using the ufolib: http://www.gameofsound.net a screenshot is here: http://www.gameofsound.net/scr/009-gameofsound_enhanced_gui_640x480_windowed.jpg .. software under construction .. Question: Is it possible to use a custom mouse pointer, instead of the default one? Regards, stahl |
From: Andrew H. <hv...@st...> - 2007-05-20 17:18:21
|
> Hi Andrew, > > On Sunday 20 May 2007, Andrew Hvatum wrote: > >> Gruss Johannes, >> >> Thanks for all the help! The program is working really well. It's still >> a way from completion, but I'll send >> you the source and a copy when it's finished. >> >> I'd like to statically link the final executable with libUFO, sorry if >> this is a dumb question, but how do I >> get it to produce a libUFO.a file that I can link with? If this is hard >> to do, how else could I go about >> setting up the program so it runs on platforms where people don't have >> libUFO installed? >> > > You could still deliver the dynamic library and add the directory to the > dll/so search path, e.g. setting the LD_LIBRARY_PATH environment variable > under unix like systems. > > To create static libraries, run configure with > ./configure --enable-static > > (see also ./configure --help) > > > Regards, > Johannes > Thanks! That worked, now it compiles and gives me a libufo.a file. When I try to run make on my program to statically link it I get a series of errors. Maybe you could take a quick look and tell me if it's a problem with my system/code? Or maybe libufo isn't really designed to be statically linked so that's what's making it unhappy. All the errors seem to be restricted to usharedlib.cpp (not needed when using static libs, I think) and uxglxdriver, so I'm going to go and try commenting both of those files out before statically compiling libufo and see what happens. Mit freundlichen Grüssen! Andrew [hvatum@cs18 MakeMosaic]$ make g++ MakeMosaic.cpp libufo.a -o MosaicMaximus.exe usharedlib.o: In function `ufo::USharedLib::unload()': /learning/libUFO/ufo-0.8.4/src/usharedlib.cpp:219: undefined reference to `dlclose' usharedlib.o: In function `ufo::USharedLib::load(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ufo::USharedLib::ldmode_t)': /learning/libUFO/ufo-0.8.4/src/usharedlib.cpp:138: undefined reference to `dlopen' usharedlib.o: In function `ufo::USharedLib::symbol(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': /learning/libUFO/ufo-0.8.4/src/usharedlib.cpp:80: undefined reference to `dlsym' /learning/libUFO/ufo-0.8.4/src/usharedlib.cpp:82: undefined reference to `dlerror' uxglxdriver.o: In function `ufo::UXGLXDevice::setDecorations()': ux/uxglxdriver.cpp:1078: undefined reference to `XInternAtom' ux/uxglxdriver.cpp:1082: undefined reference to `XChangeProperty' uxglxdriver.o: In function `ufo::UXGLXDevice::setWMHints()': ux/uxglxdriver.cpp:1119: undefined reference to `XAllocWMHints' ux/uxglxdriver.cpp:1128: undefined reference to `XSetWMHints' ux/uxglxdriver.cpp:1130: undefined reference to `XFree' ux/uxglxdriver.cpp:1173: undefined reference to `XInternAtom' ux/uxglxdriver.cpp:1173: undefined reference to `XChangeProperty' ux/uxglxdriver.cpp:1185: undefined reference to `XInternAtom' ux/uxglxdriver.cpp:1185: undefined reference to `XChangeProperty' ux/uxglxdriver.cpp:1189: undefined reference to `XInternAtom' ux/uxglxdriver.cpp:1189: undefined reference to `XDeleteProperty' ux/uxglxdriver.cpp:1139: undefined reference to `XInternAtom' ux/uxglxdriver.cpp:1141: undefined reference to `XInternAtom' ux/uxglxdriver.cpp:1150: undefined reference to `XInternAtom' ux/uxglxdriver.cpp:1154: undefined reference to `XInternAtom' ux/uxglxdriver.cpp:1158: undefined reference to `XInternAtom' uxglxdriver.o:ux/uxglxdriver.cpp:1162: more undefined references to `XInternAtom' follow uxglxdriver.o: In function `ufo::UXGLXDevice::setWMHints()': ux/uxglxdriver.cpp:1177: undefined reference to `XDeleteProperty' uxglxdriver.o: In function `ufo::UXGLXDevice::setSizeHints()': ux/uxglxdriver.cpp:1089: undefined reference to `XAllocSizeHints' ux/uxglxdriver.cpp:1111: undefined reference to `XSetWMNormalHints' uxglxdriver.o: In function `ufo::UXGLXDevice::hide()': ux/uxglxdriver.cpp:973: undefined reference to `XDestroyWindow' ux/uxglxdriver.cpp:977: undefined reference to `XFlush' uxglxdriver.o: In function `ufo::UXGLXDevice::show()': ux/uxglxdriver.cpp:904: undefined reference to `XCreateColormap' ux/uxglxdriver.cpp:918: undefined reference to `XCreateWindow' ux/uxglxdriver.cpp:948: undefined reference to `XSetWMProtocols' ux/uxglxdriver.cpp:951: undefined reference to `XMapWindow' uxglxdriver.o: In function `ufo::UXGLXDevice::setTitle(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': ux/uxglxdriver.cpp:843: undefined reference to `XStringListToTextProperty' ux/uxglxdriver.cpp:845: undefined reference to `XSetWMName' ux/uxglxdriver.cpp:846: undefined reference to `XSetWMIconName' uxglxdriver.o: In function `ufo::UXGLXDevice::setLocation(int, int)': ux/uxglxdriver.cpp:825: undefined reference to `XMoveWindow' uxglxdriver.o: In function `ufo::UXGLXDevice::setSize(int, int)': ux/uxglxdriver.cpp:805: undefined reference to `XSetWMNormalHints' ux/uxglxdriver.cpp:806: undefined reference to `XResizeWindow' uxglxdriver.o: In function `ufo::UXGLXDriver::mapX11Unicode(XKeyEvent const&)': ux/uxglxdriver.cpp:446: undefined reference to `XLookupString' uxglxdriver.o: In function `ufo::UXGLXDriver::mapX11Keycode(XKeyEvent const&)': ux/uxglxdriver.cpp:360: undefined reference to `XKeycodeToKeysym' uxglxdriver.o: In function `ufo::UXGLXDriver::quit()': ux/uxglxdriver.cpp:139: undefined reference to `XSync' ux/uxglxdriver.cpp:146: undefined reference to `XCloseDisplay' uxglxdriver.o: In function `ufo::UXGLXDriver::init()': ux/uxglxdriver.cpp:77: undefined reference to `XDisplayName' ux/uxglxdriver.cpp:77: undefined reference to `XOpenDisplay' ux/uxglxdriver.cpp:110: undefined reference to `XDisplayName' ux/uxglxdriver.cpp:121: undefined reference to `XInternAtom' uxglxdriver.o: In function `ufo::UXGLXDriver::pumpEvents()': ux/uxglxdriver.cpp:162: undefined reference to `XFlush' ux/uxglxdriver.cpp:165: undefined reference to `XNextEvent' ux/uxglxdriver.cpp:164: undefined reference to `XPending' uxglxdriver.o: In function `ufo::UXGLXDevice::setSizeHints()': ux/uxglxdriver.cpp:1112: undefined reference to `XFree' uxglxdriver.o: In function `UGLXVideoPlugin::isAvailable()': ux/uxglxdriver.cpp:716: undefined reference to `XOpenDisplay' ux/uxglxdriver.cpp:718: undefined reference to `XCloseDisplay' libufo.a(uxsdldriver.o): In function `ufo::UXSDLDevice::setLocation(int, int)': ux/uxsdldriver.cpp:509: undefined reference to `XMoveWindow' collect2: ld returned 1 exit status make: *** [all] Error 1 [hvatum@cs18 MakeMosaic]$ > > >>> Hi again, >>> >>> Just to make clear that the image is correctly displayed: >>> I have attached the openclipart.org logo (which is public domain) as C >>> header file (char array), again named "fuzzy.h". >>> >>> The previous one was just random painting with the GIMP and looked like >>> some screwed up memory ... >>> >>> >>> I hope I have the time on weekend to describe the UFO architecture >>> a little bit. >>> >>> >>> Regards, >>> Johannes >>> >>> Am Freitag, 11. Mai 2007 14:28 schrieb Johannes Schmidt: >>> >>>> Hi Andrew, >>>> >>>> I have to admit, that it isn't really outlined in detail, >>>> how to use images in LibUFO. >>>> >>>> If you want to pipe an array of chars representing an image, you can use >>>> UImageIO to create the basic image software buffer used in UFO. >>>> >>>> To get a hardware image (i.e. OpenGL image) usable in UFO, >>>> you need a UImage object. >>>> Usually, you shouldn't need to use the UGL_Image class directly. >>>> >>>> In short: >>>> Use the display image to convert the UImageIO object (the software >>>> buffer) to a UImage object (the hardware surface). >>>> UImage * UDisplay::createImage(UImageIO *); >>>> >>>> Longer version: >>>> Several backends handle hardware data differently (especially, how >>>> hardware surfaces are shared between contexts) >>>> >>>> The display object handles the whole connection to the underlying system >>>> and controls all data acquired by the system (for instance an OpenGL >>>> texture encapsulated in a UImage object). >>>> >>>> Therefore, the display object is responsible for all data/memory >>>> allocated by the system, as video devices, images, fonts, events etc. >>>> (this has changed a little bit over time, so this is usually done by the >>>> UXDisplay class, whereas the UDisplay class is still a bit limited). >>>> >>>> I have attached two files: >>>> A modified version of test/base.cpp, which reads in a char array, >>>> creates a UImageIO object, then a UImage object and uses this as Icon >>>> for a label. >>>> >>>> A header file called fuzzy.h which contains the image array (created >>>> with the GIMP). >>>> >>>> Compile it via: >>>> g++ -o base base.cpp `pkg-config --cflags --libs ufo` >>>> >>>> If you have the GIMP, you can create another image and save it as C >>>> header under the name "fuzzy.h", then recompile. >>>> >>>> If there are any problems understanding the code, please ask. >>>> >>>> >>>> Best regards, >>>> Johannes >>>> >>>> Am Freitag, 11. Mai 2007 03:43 schrieb hv...@st...: >>>> >>>>> Hi again, >>>>> >>>>> I'm having some serious trouble trying to figure out how to pass an >>>>> image so that libUFO displays it. I'm trying to follow the directions >>>>> which you outlined on this email that I found archived on the mailing >>>>> list, but I can't for the life of me get it to work. >>>>> >>>>> I'm really panicking, because I need to have this functionality working >>>>> soon. As far as I can tell from the specifications on sourceforge, >>>>> UGL_Image must be passed as an argument to UImage, and then you can >>>>> pass UImageIO as an argument to UGL_Image? (And UGL_Image can take a >>>>> flat array of unsigned char, each representing one color of a pixel). >>>>> >>>>> If you could write out a quick example which reads in an image from an >>>>> array or something (not a file, I can do that with UIcon) and explain a >>>>> bit how it functions I'd be happy to Paypal you $25 for all the time >>>>> you've spent helping me. Consider it a "donation" for all the hard work >>>>> you've put into this great toolkit! >>>>> >>>>> Mit sehr Freundlichen Grussen, >>>>> Andrew >>>>> >>>>> "It is not that trivial but it is possible. >>>>> >>>>> If you do not care about performance too much (at least in the >>>>> beginning), you can use the built-in image class (UImage) and assign >>>>> this as icon of a label (or button). >>>>> >>>>> That means, you create your own image buffer and feed it as RGB(A) data >>>>> to an UImageIO class, create an image and so on. I have attached a >>>>> small example (image.cpp) which shows how to do that (based on the >>>>> base.cpp example). Compile it via: >>>>> g++ -o image image.cpp `pkg-config --cflags --libs ufo` >>>>> >>>>> Otherwise you can draw the image yourself using OpenGL methods. To do >>>>> this, you have to subclass UWidget and override >>>>> UWidget::paintWidget(UGraphics*) with your own code (set up matrices >>>>> and OpenGL state, draw image, revert OpenGL matrices and states). " >>>>> > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > LibUFO-devel mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libufo-devel > |
From: Johannes S. <sch...@us...> - 2007-05-20 16:14:32
|
Hi Andrew, On Sunday 20 May 2007, Andrew Hvatum wrote: > Gruss Johannes, > > Thanks for all the help! The program is working really well. It's still > a way from completion, but I'll send > you the source and a copy when it's finished. > > I'd like to statically link the final executable with libUFO, sorry if > this is a dumb question, but how do I > get it to produce a libUFO.a file that I can link with? If this is hard > to do, how else could I go about > setting up the program so it runs on platforms where people don't have > libUFO installed? You could still deliver the dynamic library and add the directory to the dll/so search path, e.g. setting the LD_LIBRARY_PATH environment variable under unix like systems. To create static libraries, run configure with ./configure --enable-static (see also ./configure --help) Regards, Johannes > > Hi again, > > > > Just to make clear that the image is correctly displayed: > > I have attached the openclipart.org logo (which is public domain) as C > > header file (char array), again named "fuzzy.h". > > > > The previous one was just random painting with the GIMP and looked like > > some screwed up memory ... > > > > > > I hope I have the time on weekend to describe the UFO architecture > > a little bit. > > > > > > Regards, > > Johannes > > > > Am Freitag, 11. Mai 2007 14:28 schrieb Johannes Schmidt: > >> Hi Andrew, > >> > >> I have to admit, that it isn't really outlined in detail, > >> how to use images in LibUFO. > >> > >> If you want to pipe an array of chars representing an image, you can use > >> UImageIO to create the basic image software buffer used in UFO. > >> > >> To get a hardware image (i.e. OpenGL image) usable in UFO, > >> you need a UImage object. > >> Usually, you shouldn't need to use the UGL_Image class directly. > >> > >> In short: > >> Use the display image to convert the UImageIO object (the software > >> buffer) to a UImage object (the hardware surface). > >> UImage * UDisplay::createImage(UImageIO *); > >> > >> Longer version: > >> Several backends handle hardware data differently (especially, how > >> hardware surfaces are shared between contexts) > >> > >> The display object handles the whole connection to the underlying system > >> and controls all data acquired by the system (for instance an OpenGL > >> texture encapsulated in a UImage object). > >> > >> Therefore, the display object is responsible for all data/memory > >> allocated by the system, as video devices, images, fonts, events etc. > >> (this has changed a little bit over time, so this is usually done by the > >> UXDisplay class, whereas the UDisplay class is still a bit limited). > >> > >> I have attached two files: > >> A modified version of test/base.cpp, which reads in a char array, > >> creates a UImageIO object, then a UImage object and uses this as Icon > >> for a label. > >> > >> A header file called fuzzy.h which contains the image array (created > >> with the GIMP). > >> > >> Compile it via: > >> g++ -o base base.cpp `pkg-config --cflags --libs ufo` > >> > >> If you have the GIMP, you can create another image and save it as C > >> header under the name "fuzzy.h", then recompile. > >> > >> If there are any problems understanding the code, please ask. > >> > >> > >> Best regards, > >> Johannes > >> > >> Am Freitag, 11. Mai 2007 03:43 schrieb hv...@st...: > >>> Hi again, > >>> > >>> I'm having some serious trouble trying to figure out how to pass an > >>> image so that libUFO displays it. I'm trying to follow the directions > >>> which you outlined on this email that I found archived on the mailing > >>> list, but I can't for the life of me get it to work. > >>> > >>> I'm really panicking, because I need to have this functionality working > >>> soon. As far as I can tell from the specifications on sourceforge, > >>> UGL_Image must be passed as an argument to UImage, and then you can > >>> pass UImageIO as an argument to UGL_Image? (And UGL_Image can take a > >>> flat array of unsigned char, each representing one color of a pixel). > >>> > >>> If you could write out a quick example which reads in an image from an > >>> array or something (not a file, I can do that with UIcon) and explain a > >>> bit how it functions I'd be happy to Paypal you $25 for all the time > >>> you've spent helping me. Consider it a "donation" for all the hard work > >>> you've put into this great toolkit! > >>> > >>> Mit sehr Freundlichen Grussen, > >>> Andrew > >>> > >>> "It is not that trivial but it is possible. > >>> > >>> If you do not care about performance too much (at least in the > >>> beginning), you can use the built-in image class (UImage) and assign > >>> this as icon of a label (or button). > >>> > >>> That means, you create your own image buffer and feed it as RGB(A) data > >>> to an UImageIO class, create an image and so on. I have attached a > >>> small example (image.cpp) which shows how to do that (based on the > >>> base.cpp example). Compile it via: > >>> g++ -o image image.cpp `pkg-config --cflags --libs ufo` > >>> > >>> Otherwise you can draw the image yourself using OpenGL methods. To do > >>> this, you have to subclass UWidget and override > >>> UWidget::paintWidget(UGraphics*) with your own code (set up matrices > >>> and OpenGL state, draw image, revert OpenGL matrices and states). " |
From: Andrew H. <hv...@st...> - 2007-05-20 03:18:19
|
Gruss Johannes, Thanks for all the help! The program is working really well. It's still a way from completion, but I'll send you the source and a copy when it's finished. I'd like to statically link the final executable with libUFO, sorry if this is a dumb question, but how do I get it to produce a libUFO.a file that I can link with? If this is hard to do, how else could I go about setting up the program so it runs on platforms where people don't have libUFO installed? Thanks again for all the help, Andrew > Hi again, > > Just to make clear that the image is correctly displayed: > I have attached the openclipart.org logo (which is public domain) as C header > file (char array), again named "fuzzy.h". > > The previous one was just random painting with the GIMP and looked like some > screwed up memory ... > > > I hope I have the time on weekend to describe the UFO architecture > a little bit. > > > Regards, > Johannes > > Am Freitag, 11. Mai 2007 14:28 schrieb Johannes Schmidt: > >> Hi Andrew, >> >> I have to admit, that it isn't really outlined in detail, >> how to use images in LibUFO. >> >> If you want to pipe an array of chars representing an image, you can use >> UImageIO to create the basic image software buffer used in UFO. >> >> To get a hardware image (i.e. OpenGL image) usable in UFO, >> you need a UImage object. >> Usually, you shouldn't need to use the UGL_Image class directly. >> >> In short: >> Use the display image to convert the UImageIO object (the software buffer) >> to a UImage object (the hardware surface). >> UImage * UDisplay::createImage(UImageIO *); >> >> Longer version: >> Several backends handle hardware data differently (especially, how hardware >> surfaces are shared between contexts) >> >> The display object handles the whole connection to the underlying system >> and controls all data acquired by the system (for instance an OpenGL >> texture encapsulated in a UImage object). >> >> Therefore, the display object is responsible for all data/memory allocated >> by the system, as video devices, images, fonts, events etc. >> (this has changed a little bit over time, so this is usually done by the >> UXDisplay class, whereas the UDisplay class is still a bit limited). >> >> I have attached two files: >> A modified version of test/base.cpp, which reads in a char array, creates a >> UImageIO object, then a UImage object and uses this as Icon for a label. >> >> A header file called fuzzy.h which contains the image array (created with >> the GIMP). >> >> Compile it via: >> g++ -o base base.cpp `pkg-config --cflags --libs ufo` >> >> If you have the GIMP, you can create another image and save it as C header >> under the name "fuzzy.h", then recompile. >> >> If there are any problems understanding the code, please ask. >> >> >> Best regards, >> Johannes >> >> Am Freitag, 11. Mai 2007 03:43 schrieb hv...@st...: >> >>> Hi again, >>> >>> I'm having some serious trouble trying to figure out how to pass an image >>> so that libUFO displays it. I'm trying to follow the directions which you >>> outlined on this email that I found archived on the mailing list, but I >>> can't for the life of me get it to work. >>> >>> I'm really panicking, because I need to have this functionality working >>> soon. As far as I can tell from the specifications on sourceforge, >>> UGL_Image must be passed as an argument to UImage, and then you can pass >>> UImageIO as an argument to UGL_Image? (And UGL_Image can take a flat >>> array of unsigned char, each representing one color of a pixel). >>> >>> If you could write out a quick example which reads in an image from an >>> array or something (not a file, I can do that with UIcon) and explain a >>> bit how it functions I'd be happy to Paypal you $25 for all the time >>> you've spent helping me. Consider it a "donation" for all the hard work >>> you've put into this great toolkit! >>> >>> Mit sehr Freundlichen Grussen, >>> Andrew >>> >>> "It is not that trivial but it is possible. >>> >>> If you do not care about performance too much (at least in the >>> beginning), you can use the built-in image class (UImage) and assign this >>> as icon of a label (or button). >>> >>> That means, you create your own image buffer and feed it as RGB(A) data >>> to an UImageIO class, create an image and so on. I have attached a small >>> example (image.cpp) which shows how to do that (based on the base.cpp >>> example). Compile it via: >>> g++ -o image image.cpp `pkg-config --cflags --libs ufo` >>> >>> Otherwise you can draw the image yourself using OpenGL methods. To do >>> this, you have to subclass UWidget and override >>> UWidget::paintWidget(UGraphics*) with your own code (set up matrices and >>> OpenGL state, draw image, revert OpenGL matrices and states). " >>> >>> >>> >>> ------------------------------------------------------------------------- >>> This SF.net email is sponsored by DB2 Express >>> Download DB2 Express C - the FREE version of DB2 express and take >>> control of your XML. No limits. Just data. Click to get it now. >>> http://sourceforge.net/powerbar/db2/ >>> _______________________________________________ >>> LibUFO-devel mailing list >>> Lib...@li... >>> https://lists.sourceforge.net/lists/listinfo/libufo-devel >>> >>> ------------------------------------------------------------------------ >>> >>> ------------------------------------------------------------------------- >>> This SF.net email is sponsored by DB2 Express >>> Download DB2 Express C - the FREE version of DB2 express and take >>> control of your XML. No limits. Just data. Click to get it now. >>> http://sourceforge.net/powerbar/db2/ >>> ------------------------------------------------------------------------ >>> >>> _______________________________________________ >>> LibUFO-devel mailing list >>> Lib...@li... >>> https://lists.sourceforge.net/lists/listinfo/libufo-devel |
From: Johannes S. <sch...@us...> - 2007-05-11 15:23:30
|
Hi again, Just to make clear that the image is correctly displayed: I have attached the openclipart.org logo (which is public domain) as C header file (char array), again named "fuzzy.h". The previous one was just random painting with the GIMP and looked like some screwed up memory ... I hope I have the time on weekend to describe the UFO architecture a little bit. Regards, Johannes Am Freitag, 11. Mai 2007 14:28 schrieb Johannes Schmidt: > Hi Andrew, > > I have to admit, that it isn't really outlined in detail, > how to use images in LibUFO. > > If you want to pipe an array of chars representing an image, you can use > UImageIO to create the basic image software buffer used in UFO. > > To get a hardware image (i.e. OpenGL image) usable in UFO, > you need a UImage object. > Usually, you shouldn't need to use the UGL_Image class directly. > > In short: > Use the display image to convert the UImageIO object (the software buffer) > to a UImage object (the hardware surface). > UImage * UDisplay::createImage(UImageIO *); > > Longer version: > Several backends handle hardware data differently (especially, how hardware > surfaces are shared between contexts) > > The display object handles the whole connection to the underlying system > and controls all data acquired by the system (for instance an OpenGL > texture encapsulated in a UImage object). > > Therefore, the display object is responsible for all data/memory allocated > by the system, as video devices, images, fonts, events etc. > (this has changed a little bit over time, so this is usually done by the > UXDisplay class, whereas the UDisplay class is still a bit limited). > > I have attached two files: > A modified version of test/base.cpp, which reads in a char array, creates a > UImageIO object, then a UImage object and uses this as Icon for a label. > > A header file called fuzzy.h which contains the image array (created with > the GIMP). > > Compile it via: > g++ -o base base.cpp `pkg-config --cflags --libs ufo` > > If you have the GIMP, you can create another image and save it as C header > under the name "fuzzy.h", then recompile. > > If there are any problems understanding the code, please ask. > > > Best regards, > Johannes > > Am Freitag, 11. Mai 2007 03:43 schrieb hv...@st...: > > Hi again, > > > > I'm having some serious trouble trying to figure out how to pass an image > > so that libUFO displays it. I'm trying to follow the directions which you > > outlined on this email that I found archived on the mailing list, but I > > can't for the life of me get it to work. > > > > I'm really panicking, because I need to have this functionality working > > soon. As far as I can tell from the specifications on sourceforge, > > UGL_Image must be passed as an argument to UImage, and then you can pass > > UImageIO as an argument to UGL_Image? (And UGL_Image can take a flat > > array of unsigned char, each representing one color of a pixel). > > > > If you could write out a quick example which reads in an image from an > > array or something (not a file, I can do that with UIcon) and explain a > > bit how it functions I'd be happy to Paypal you $25 for all the time > > you've spent helping me. Consider it a "donation" for all the hard work > > you've put into this great toolkit! > > > > Mit sehr Freundlichen Grussen, > > Andrew > > > > "It is not that trivial but it is possible. > > > > If you do not care about performance too much (at least in the > > beginning), you can use the built-in image class (UImage) and assign this > > as icon of a label (or button). > > > > That means, you create your own image buffer and feed it as RGB(A) data > > to an UImageIO class, create an image and so on. I have attached a small > > example (image.cpp) which shows how to do that (based on the base.cpp > > example). Compile it via: > > g++ -o image image.cpp `pkg-config --cflags --libs ufo` > > > > Otherwise you can draw the image yourself using OpenGL methods. To do > > this, you have to subclass UWidget and override > > UWidget::paintWidget(UGraphics*) with your own code (set up matrices and > > OpenGL state, draw image, revert OpenGL matrices and states). " > > > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by DB2 Express > > Download DB2 Express C - the FREE version of DB2 express and take > > control of your XML. No limits. Just data. Click to get it now. > > http://sourceforge.net/powerbar/db2/ > > _______________________________________________ > > LibUFO-devel mailing list > > Lib...@li... > > https://lists.sourceforge.net/lists/listinfo/libufo-devel |
From: Johannes S. <sch...@us...> - 2007-05-11 12:28:36
|
Hi Andrew, I have to admit, that it isn't really outlined in detail, how to use images in LibUFO. If you want to pipe an array of chars representing an image, you can use UImageIO to create the basic image software buffer used in UFO. To get a hardware image (i.e. OpenGL image) usable in UFO, you need a UImage object. Usually, you shouldn't need to use the UGL_Image class directly. In short: Use the display image to convert the UImageIO object (the software buffer) to a UImage object (the hardware surface). UImage * UDisplay::createImage(UImageIO *); Longer version: Several backends handle hardware data differently (especially, how hardware surfaces are shared between contexts) The display object handles the whole connection to the underlying system and controls all data acquired by the system (for instance an OpenGL texture encapsulated in a UImage object). Therefore, the display object is responsible for all data/memory allocated by the system, as video devices, images, fonts, events etc. (this has changed a little bit over time, so this is usually done by the UXDisplay class, whereas the UDisplay class is still a bit limited). I have attached two files: A modified version of test/base.cpp, which reads in a char array, creates a UImageIO object, then a UImage object and uses this as Icon for a label. A header file called fuzzy.h which contains the image array (created with the GIMP). Compile it via: g++ -o base base.cpp `pkg-config --cflags --libs ufo` If you have the GIMP, you can create another image and save it as C header under the name "fuzzy.h", then recompile. If there are any problems understanding the code, please ask. Best regards, Johannes Am Freitag, 11. Mai 2007 03:43 schrieb hv...@st...: > Hi again, > > I'm having some serious trouble trying to figure out how to pass an image > so that libUFO displays it. I'm trying to follow the directions which you > outlined on this email that I found archived on the mailing list, but I > can't for the life of me get it to work. > > I'm really panicking, because I need to have this functionality working > soon. As far as I can tell from the specifications on sourceforge, > UGL_Image must be passed as an argument to UImage, and then you can pass > UImageIO as an argument to UGL_Image? (And UGL_Image can take a flat array > of unsigned char, each representing one color of a pixel). > > If you could write out a quick example which reads in an image from an > array or something (not a file, I can do that with UIcon) and explain a > bit how it functions I'd be happy to Paypal you $25 for all the time > you've spent helping me. Consider it a "donation" for all the hard work > you've put into this great toolkit! > > Mit sehr Freundlichen Grussen, > Andrew > > "It is not that trivial but it is possible. > > If you do not care about performance too much (at least in the beginning), > you can use the built-in image class (UImage) and assign this as icon of a > label (or button). > > That means, you create your own image buffer and feed it as RGB(A) data to > an UImageIO class, create an image and so on. I have attached a small > example (image.cpp) which shows how to do that (based on the base.cpp > example). Compile it via: > g++ -o image image.cpp `pkg-config --cflags --libs ufo` > > Otherwise you can draw the image yourself using OpenGL methods. To do > this, you have to subclass UWidget and override > UWidget::paintWidget(UGraphics*) with your own code (set up matrices and > OpenGL state, draw image, revert OpenGL matrices and states). " > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > LibUFO-devel mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libufo-devel |
From: <hv...@st...> - 2007-05-11 01:43:32
|
Hi again, I'm having some serious trouble trying to figure out how to pass an image so that libUFO displays it. I'm trying to follow the directions which you outlined on this email that I found archived on the mailing list, but I can't for the life of me get it to work. I'm really panicking, because I need to have this functionality working soon. As far as I can tell from the specifications on sourceforge, UGL_Image must be passed as an argument to UImage, and then you can pass UImageIO as an argument to UGL_Image? (And UGL_Image can take a flat array of unsigned char, each representing one color of a pixel). If you could write out a quick example which reads in an image from an array or something (not a file, I can do that with UIcon) and explain a bit how it functions I'd be happy to Paypal you $25 for all the time you've spent helping me. Consider it a "donation" for all the hard work you've put into this great toolkit! Mit sehr Freundlichen Grussen, Andrew "It is not that trivial but it is possible. If you do not care about performance too much (at least in the beginning), you can use the built-in image class (UImage) and assign this as icon of a label (or button). That means, you create your own image buffer and feed it as RGB(A) data to an UImageIO class, create an image and so on. I have attached a small example (image.cpp) which shows how to do that (based on the base.cpp example). Compile it via: g++ -o image image.cpp `pkg-config --cflags --libs ufo` Otherwise you can draw the image yourself using OpenGL methods. To do this, you have to subclass UWidget and override UWidget::paintWidget(UGraphics*) with your own code (set up matrices and OpenGL state, draw image, revert OpenGL matrices and states). " |
From: Andrew H. <hv...@st...> - 2007-05-09 02:34:46
|
> Hi Andrew, > > Am Sonntag, 29. April 2007 22:30 schrieb hv...@st...: > >> Just wondering if there's still active development here. >> > > I have to admit that active development ... ahem ... kinda stopped. > It's simply that I do not have the time anymore for a real development. > But patches and bug reports are still welcome and I try to implement them as > soon as possible. > > But if there are others who want to join the development, please don't > hesitate to ask. > > Hmm, I don't think I'm qualified to join development, but I'd be happy to contribute to the documentation. I could write some things up, especially relating to layout and theme options and image/icon display. I mean, even pre-1.0 libUFO is really useful, some more clear specific examples would complement the project well. Thanks for spending your time to write such an awesome project! >> I'm using libUFO >> for a relatively simple Computer Science Project. It's a program which >> processes images and then turns them into various Mosaics. I noticed the >> earlier response to Olga, which had an attatchment "image.cpp" which had a >> simple implimentation of an image display function using UImageIO - this >> is the route which I had already decided to take! >> >> I would really appreciate it if you could send me a copy of image.cpp, I'd >> be curious to see it, maybe avoid some mistakes. >> > > Hmm, perhaps if you describe your problem a little bit more in detail, I could > help ... > Certainly! I'm honestly just beginning programming, so please excuse all the questions (and perhaps also dumb questions!). I'm just not sure how to go about getting this image file to load, maybe you could just write out a line of code that shows how to actually go about displaying an image using libUFO? As far as I could tell from the specs. putting it as an icon of a label using UGL_Image should work, but I always get a compile error. For this program I need to both be loading images from files and piping them from the main program to the UI as a flat array in RGBA format (I think this should work with libUFO's UImageIO class). void createWorkWindow(URootPane * root) { UInternalFrame * iframeWorkWindow = new UInternalFrame(currentFile); // we need to set the size and position explicitely as // internal frames panel does not have layout managers iframeWorkWindow->setBounds(70, 70, 631, 500); iframeWorkWindow->setLocation(40, 40); iframeWorkWindow->setResizable(true); UButton * imageBuffer = new UButton(); UImage * image = new UGL_Image(new UImageIO("workspaceBackground.tga")); imageBuffer->setIcon(new UImageIcon(image)); iframeWorkWindow->add(imageBuffer); root->addFrame(iframeWorkWindow); } |
From: Johannes S. <sch...@us...> - 2007-05-08 13:02:00
|
Am Dienstag, 8. Mai 2007 12:03 schrieb Johannes Schmidt: [...] > > As far as I can tell the code below should restrict the window from > > being resizable > > but it can still be resized. > > Well, might be a bug. I have to review the X11 driver ... > But you could try to set all window parameters before calling setVisible. > Perhaps some attributes are not updated after creating the window. The implementation of UXFrame::setResizable was totally wrong. This is now fixed in CVS. If the window isn't resizable anymore, the maximize button should disappear as well. Regards, Johannes |
From: Johannes S. <sch...@us...> - 2007-05-08 10:18:21
|
Hi Andrew, Am Sonntag, 29. April 2007 22:30 schrieb hv...@st...: > Just wondering if there's still active development here. I have to admit that active development ... ahem ... kinda stopped. It's simply that I do not have the time anymore for a real development. But patches and bug reports are still welcome and I try to implement them a= s=20 soon as possible. But if there are others who want to join the development, please don't=20 hesitate to ask. > I'm using libUFO=20 > for a relatively simple Computer Science Project. It's a program which > processes images and then turns them into various Mosaics. I noticed the > earlier response to Olga, which had an attatchment "image.cpp" which had a > simple implimentation of an image display function using UImageIO - this > is the route which I had already decided to take! > > I would really appreciate it if you could send me a copy of image.cpp, I'd > be curious to see it, maybe avoid some mistakes. Hmm, perhaps if you describe your problem a little bit more in detail, I co= uld=20 help ... > Also, if libUFO is no longer actively developed, is it because you've > began working on another OpenGL Widget Toolkit?=20 Unfortunately not. But I've written an OpenGL backend for Cairo, the vector drawing API used i= n=20 Mozilla, GTK, etc. That might be interesting, too. I am trying to get that approved by the cairo maintainers to make it availa= ble=20 for all. > I'd love to hear what alternatives are out there. I haven't found any yet. Regards, Johannes > Mit freundlichen Gruessen, > Andrew > > PS. Ich spreche auch Deutsch falls das ihnen lieber ist! :) =46=FCr die Mailing Liste ist Englisch wohl geeigneter, aber ich spreche au= ch=20 gerne Deutsch :) |
From: Johannes S. <sch...@us...> - 2007-05-08 10:11:35
|
Hi Raegis, CCing to the ufo devel list, as this might be interesting for others as well. Am Montag, 30. April 2007 09:48 schrieb raegis: > Message body follows: > > I would just say... > > Thanks, I was searching for a GUI library like UFO for > month. I was desperate and I was starting to code my own > library, but UFO appears... That's exactly what I was > searching for. > So thanks a lot for it. > Continue, it's a very good job. > Just a little remark. > Is it envisaged to separate video drivers from the code and > to load them at runtime ? > Because, if I want to program my own UFO driver, it is > required that I modify UFO code and released it under a GPL > licence... This is too bad, just for few lines... It is theoretically possible and supposed to work, but I haven't tried it yet. Video drivers can be injected via UVideoPlugin. See include/ufo/uplugin.hpp But in the beginning, it might be easier to use the dummy video driver "dummygl" and set up the window in your application. See for example test/sdl.cpp It takes a little bit of time to create a video driver which supports all attributes (and probably none of the provided video drivers support all stuff). > Just an another thing, > In UXul::createRootPane(), I have replaced : > > node = m_doc->IterateChildren(node); > unknown = node->ToUnknown(); > > by this : > node = m_doc->IterateChildren(node); > if(node != NULL) { > unknown = node->ToUnknown(); > } > > I don't know which tinyxml version you use, but with me, (I > have also removed the tinyxml source files from UFO), it > doesn't worked like this. Thanks, I will look into this. Regards, Johannes |
From: Johannes S. <sch...@us...> - 2007-05-08 10:03:01
|
Hi Andrew, CCing to the ufo devel list, as this might be interesting for others as well. Am Mittwoch, 2. Mai 2007 03:11 schrieb Andrew Hvatum: > Hi, > > I have a few quick questions about libUFO, first of all, how does one > use the > setResizable function? I've pasted my code below, I'm trying to make a > second > small window which should not be resizable, to hold the tools for my > program (a la > photoshop). This window shouldn't be resizable, otherwise silly users might > resize it and not be able to figure out how to access all the tools. > > As far as I can tell the code below should restrict the window from > being resizable > but it can still be resized. Well, might be a bug. I have to review the X11 driver ... But you could try to set all window parameters before calling setVisible. Perhaps some attributes are not updated after creating the window. > Also, is it possible to remove the maximize and close buttons from the > top of windows? > > I know these are drawn by the window manager, so is there some command > libUFO can > pass (in Linux) so the window appears without a close button? To modify the window frame, you have to adjust the frame style attribute: UXFrame::setFrameStyle (see ufo/ufo_types.hpp, enum FrameStyle). The GLX driver uses the motif window hints to indicate which frame style the window manager should use (see src/ux/uxglxdriver, line 1031). Perhaps it works if you play around with the frame style parameter ... The maximize button should already be hidden when the window isn't resizable anymore. > Code: > int main(int argc, char ** argv) { > // Creates the toolkit object, tells UFO to start > UXToolkit tk; > // loads the video driver and creates a central event queue > UXDisplay display; > > // Creates a central frame > UXFrame * tool_window = display.createFrame(); > tool_window->setBounds(74, 208, 74, 208); > tool_window->setVisible(true); > tool_window->setSize(74, 208); > tool_window->setResizable(false); > tool_window->setTitle("Tools"); Try to make setVisible(true) the last command. SDL and probably some UFO drivers don't like it if window parameter are set after the window is shown. Regards, Johannes |
From: <hv...@st...> - 2007-04-29 20:30:43
|
Hallo Johannes & others, Just wondering if there's still active development here. I'm using libUFO for a relatively simple Computer Science Project. It's a program which processes images and then turns them into various Mosaics. I noticed the earlier response to Olga, which had an attatchment "image.cpp" which had a simple implimentation of an image display function using UImageIO - this is the route which I had already decided to take! I would really appreciate it if you could send me a copy of image.cpp, I'd be curious to see it, maybe avoid some mistakes. Also, if libUFO is no longer actively developed, is it because you've began working on another OpenGL Widget Toolkit? I'd love to hear what alternatives are out there. Mit freundlichen Gruessen, Andrew PS. Ich spreche auch Deutsch falls das ihnen lieber ist! :) |
From: Andreas B. <b_...@gm...> - 2006-09-17 15:09:15
|
On Sunday 17 September 2006 16:31, Johannes Schmidt wrote: > Le Dimanche 17 Septembre 2006 15:16, Andreas Beckermann a écrit : > > > Hmm, I'm using here libgl1-mesa-dri 6.4.1-0ubuntu8 and can't reproduce > > > the problem. > > > If you can create a minimal example, please send it to the libufo > > > mailing list. > > > > Sure: > > current libufo cvs, ufo-0.5/test/buttons.cpp > > > > Attached is a log, including a backtrace and my glxinfo output. > > If this crash does not happen on your system - maybe ubunto has patched > > it's mesa to include the fix? > > Ahh, sorry, didn't see that only indirect Mesa rendering is affected. > It's the same bug in Ubuntu. > > I have added a work-around to CVS which removes the glPopClientAttrib call > and restores the necessary client attributes manually. See > src/gl/ugl_graphics.cpp and include/ufo/gl/ugl_prototypes.hpp (for > glEnable,DisableClientState). > This fixes the bug for my system. Yep, works great here, too, thanks a lot :-) > Regards, > Johannes CU Andi |
From: Johannes S. <sch...@us...> - 2006-09-17 14:31:15
|
Le Dimanche 17 Septembre 2006 15:16, Andreas Beckermann a =C3=A9crit=C2=A0: > > Hmm, I'm using here libgl1-mesa-dri 6.4.1-0ubuntu8 and can't reproduce > > the problem. > > If you can create a minimal example, please send it to the libufo maili= ng > > list. > > Sure: > current libufo cvs, ufo-0.5/test/buttons.cpp > > Attached is a log, including a backtrace and my glxinfo output. > If this crash does not happen on your system - maybe ubunto has patched > it's mesa to include the fix? Ahh, sorry, didn't see that only indirect Mesa rendering is affected. It's the same bug in Ubuntu. I have added a work-around to CVS which removes the glPopClientAttrib call = and=20 restores the necessary client attributes manually. See=20 src/gl/ugl_graphics.cpp and include/ufo/gl/ugl_prototypes.hpp (for=20 glEnable,DisableClientState). This fixes the bug for my system. Regards, Johannes |
From: Andreas B. <b_...@gm...> - 2006-09-17 13:15:42
|
(Removing the CC's cause this is imho relevant to libufo-devel only) On Saturday 16 September 2006 10:58, Johannes Schmidt wrote: > Le Samedi 16 Septembre 2006 02:06, Andreas Beckermann a écrit : > [...] > > > I have done some additional research and have been able to reproduce the > > bug on one of my own machines. It happens with mesa based drivers only. > > It appears to me that this is a bug in mesa, in particular I believe it > > is > > http://www.mail-archive.com/mesa3d-dev%40lists.sourceforge.net/msg00772.h > >tm l The fact that this problem goes away with libgl1-mesa-dri > > 6.5.0.cvs.20060524-1 seems to confirm that, as current mesa versions > > don't include the fix yet, cvs does. > > Hmm, I'm using here libgl1-mesa-dri 6.4.1-0ubuntu8 and can't reproduce the > problem. > If you can create a minimal example, please send it to the libufo mailing > list. Sure: current libufo cvs, ufo-0.5/test/buttons.cpp Attached is a log, including a backtrace and my glxinfo output. If this crash does not happen on your system - maybe ubunto has patched it's mesa to include the fix? > > However I have no idea how to write around this problem so that it works > > for broken mesa versions, too. The only way I can see atm is not to use > > vertex arrays, but this solution _really_ sucks and would require quite > > some changes to libufo. > > IIRC, the only place where we are using vertex arrays in libufo is in > GL_Graphics::drawVertexArray. > You could replace the vertex array with plain glBegin, glVertex, glEnd > calls. But using immediate mode is a performance penalty ... I doubt that the difference is measurable considering the size of the arrays (usually < 10 vertices) used by libufo > It's strange that this occurs only with triangles ... It's a strange bug > Best, > Johannes CU Andi |
From: Johannes S. <sch...@us...> - 2006-09-16 08:57:43
|
Le Samedi 16 Septembre 2006 02:06, Andreas Beckermann a =C3=A9crit=C2=A0: [...] > I have done some additional research and have been able to reproduce the > bug on one of my own machines. It happens with mesa based drivers only. It > appears to me that this is a bug in mesa, in particular I believe it is > http://www.mail-archive.com/mesa3d-dev%40lists.sourceforge.net/msg00772.h= tm >l The fact that this problem goes away with libgl1-mesa-dri > 6.5.0.cvs.20060524-1 seems to confirm that, as current mesa versions don't > include the fix yet, cvs does. Hmm, I'm using here libgl1-mesa-dri 6.4.1-0ubuntu8 and can't reproduce the= =20 problem. If you can create a minimal example, please send it to the libufo mailing=20 list. > However I have no idea how to write around this problem so that it works > for broken mesa versions, too. The only way I can see atm is not to use > vertex arrays, but this solution _really_ sucks and would require quite > some changes to libufo. IIRC, the only place where we are using vertex arrays in libufo is in=20 GL_Graphics::drawVertexArray. You could replace the vertex array with plain glBegin, glVertex, glEnd call= s. But using immediate mode is a performance penalty ... (though it shouldn't be too slow, as there are usually only a few vertices= =20 drawn. Compared to a RTS, it's really "low-poly" rendering) The VertexArray object returns interleaved arrays. Looping over all vertice= s=20 with glVertex and glColor should work (but getting OpenGL vertex arrays to= =20 work would certainly be better). Send me an email if you need help with that ... > CC'ing libufo-devel for this problem, maybe some good idea comes up. > Additional information for libufo developers: > It stems from usage of vertex arrays in libufo, however I have not yet > managed to narrow it down to the exact combination of circumstances > (meaning I haven't had time to write a few test cases yet). > From what I have found by now, I think it happens only when using > ufo::UVertexArray with triangles (i.e. not with lines). IIRC it was > PE_IndicatorRadioButton in UBasicStyle::paintPrimitive() that triggered t= he > bug for me. It's strange that this occurs only with triangles ... Best, Johannes |
From: Andreas B. <b_...@gm...> - 2006-09-16 00:04:50
|
On Friday 15 September 2006 21:38, Eddy Petri=C5=9For wrote: [...] > boson: ERROR: [void BosonCanvasRenderer::initGL()] boson requires > GL_EXT_framebuffer_object This is NOT the problem, btw. This error merely exists because this extensi= on=20 might be used by boson without checking whether it actually is available. This may or may not lead to a crash - but in this particular case it is=20 actually harmless. CC'ing boson-devel anyway, cause I think it should be fixed, as apparently = not=20 all drivers implement this extension. > boson: indirect_vertex_array.c:1359: __indirect_glTexCoordPointer: > Assertion `a !=3D ((void *)0)' failed. [...] This is the actual source of the problem. I have done some additional research and have been able to reproduce the bu= g=20 on one of my own machines. It happens with mesa based drivers only. It appears to me that this is a bug in mesa, in particular I believe it is http://www.mail-archive.com/mesa3d-dev%40lists.sourceforge.net/msg00772.html The fact that this problem goes away with libgl1-mesa-dri 6.5.0.cvs.2006052= 4-1=20 seems to confirm that, as current mesa versions don't include the fix yet,= =20 cvs does. However I have no idea how to write around this problem so that it works fo= r=20 broken mesa versions, too. The only way I can see atm is not to use vertex= =20 arrays, but this solution _really_ sucks and would require quite some chang= es=20 to libufo. CC'ing libufo-devel for this problem, maybe some good idea comes up.=20 Additional information for libufo developers: It stems from usage of vertex arrays in libufo, however I have not yet mana= ged=20 to narrow it down to the exact combination of circumstances (meaning I=20 haven't had time to write a few test cases yet). =46rom what I have found by now, I think it happens only when using=20 ufo::UVertexArray with triangles (i.e. not with lines). IIRC it was=20 PE_IndicatorRadioButton in UBasicStyle::paintPrimitive() that triggered the= =20 bug for me.=20 CU Andi |
From: Veli O. S. <vel...@gm...> - 2006-06-11 07:13:59
|
Thank you for the quick reply Johannes. I'll go along with OpenGL, i.e. you'll be bugged several times this week. :)) Ogla > >It is not that trivial but it is possible. > > >Otherwise you can draw the image yourself using OpenGL methods. > >To do this, you have to subclass UWidget and override > >UWidget::paintWidget(UGraphics*) with your own code (set up matrices and > >OpenGL state, draw image, revert OpenGL matrices and states). > > > Hope that helps, > Johannes > > |
From: Johannes S. <sch...@us...> - 2006-06-10 13:13:20
|
Hi Ogla, On Saturday 10 June 2006 11:46, Veli Ogla Sungutay wrote: > I need to create GUI applications that shows images on the screen, and let > the user do simple manipulation stuff: resizing, cropping, renaming etc... > > I see there are several Graphics and Image classes in the API; What is the > path I should take? It is not that trivial but it is possible. If you do not care about performance too much (at least in the beginning), you can use the built-in image class (UImage) and assign this as icon of a label (or button). That means, you create your own image buffer and feed it as RGB(A) data to an UImageIO class, create an image and so on. I have attached a small example (image.cpp) which shows how to do that (based on the base.cpp example). Compile it via: g++ -o image image.cpp `pkg-config --cflags --libs ufo` Otherwise you can draw the image yourself using OpenGL methods. To do this, you have to subclass UWidget and override UWidget::paintWidget(UGraphics*) with your own code (set up matrices and OpenGL state, draw image, revert OpenGL matrices and states). Hope that helps, Johannes |
From: Veli O. S. <vel...@gm...> - 2006-06-10 09:53:03
|
Hi all, I need to create GUI applications that shows images on the screen, and let the user do simple manipulation stuff: resizing, cropping, renaming etc... I see there are several Graphics and Image classes in the API; What is the path I should take? Thanks! Ogla |
From: Johannes S. <sch...@us...> - 2006-04-29 13:41:42
|
Hi Elie, sorry for the late response. I hope, your coding night was still succesful :) On Friday 28 April 2006 20:46, Elie `woe` BLETON wrote: > > in src/ui/ubasicstyle.cpp > > line 873 to 881. > > > > I'd really like to remove this piece of code as it's really messy. > > Probably a scroll pane should work. > > Otherwise an entirely new solution should be considered. > > I'm not sure of getting all the concept behind UScrollPane completely. I'm > supposing a few things that are possibly all wrong, but please correct me > and provide some more explanation. I'm willing to contribute on this part > as you see fit. Some general comments: The scroll pane is merely a container for a viewport and scroll bars. The viewport is able to show only a part of a widget which is larger than the viewport itsself (which is simply done by adding this widget as child, moving it to negative position and clipping at the bounds of the viewport). In ascii art: (-x, -y) ---------------- | (0,0)____ | | |xx| | | |xx| | | |__| | | | ---------------- viewport is inner rect, (scrollable) widget is outer rect Only the part marked with xx is visible. Moving the "view bounds" means in fact moving the scrollable widget which is kinda below the viewport. UViewport provides a stub (not yet implemented) to make sure that a specific rectangle is visible in the viewport. One way would be to call UViewport::scrollRectToVisible(URectangle) after every movement of the text caret. > Hacky fix > Considering the bug that annoys me, I think it would be simpler to compute > the offset when it changes and store it as a member of UTextWidget. Which > means that caret movement might impact the offset as needed (I'm not really > sure on how that could be done), so the offending block of code in > ubasicstyle.cpp could be removed. > > This solution could be binded to scrollbars via offset manipulation. > Overloading UScrollableWidget methods in UTextWidget to consider the offset > seems reasonable to me. > > Scrollpane fix > After looking quickly at the code of uscrollpane.cpp, I'm not really sure > on the way it works. I'm not familiar with the rendering aspect of the > problem, nor with the content manipulation of the problem. > > Looking at the code I deducted a few things (that, you can translate to "he > didn't understand anything"). Please correct me and enlighten me on the > subject. > > - Scrollpanes are zones that are possibly larger that displayable > area. yes. > - Displayed area is manipulable with UScrollPane methods, Which delegate it to the viewport. > which > provides additionnal methods for straight inclusion into other widget, > like wheel handling. Special key handling (PG_UP, PG_DOWN, > UP/DOWN/LEFT/RIGHT) doesn't seem to be considered in this part. Not yet ... :) > - Scrollpanes are designed to be binded to scrollbars. Desigend .. but you do not have to use them. > - Scrollpane content is given by providing some UScrollableWidget to > the constructor. Yes (with some UViewport magic behind). > Looking at morewidgets.cpp (L83), I see that scrollbars are automaticly > added for listboxes. As long as you add it to a scroll pane. > Adding stuff to the listbox after creating the scrollpane works fine, the > scrollbars continue to work (and are properly resized) with the newly added > items. > > This doesn't work for UTextEdit objects for some strange reason : > scrollbars don't appear after typing text. This is because it isn't derived from UScrollableWidget (probably). > Worse, cursor doesn't move the > box if a scrollpane is used -- which is normal if the "box moving" part is > in the specific drawing code of UTextWidget likes. Should probably be done using UViewport::scrollRectToVisible(URectangle) ... Regards, Johannes |
From: Elie `w. B. <dro...@gm...> - 2006-04-28 18:52:40
|
> > in src/ui/ubasicstyle.cpp > line 873 to 881. > > I'd really like to remove this piece of code as it's really messy. > Probably a scroll pane should work. > Otherwise an entirely new solution should be considered. > I'm not sure of getting all the concept behind UScrollPane completely. I'm supposing a few things that are possibly all wrong, but please correct me and provide some more explanation. I'm willing to contribute on this part a= s you see fit. Hacky fix Considering the bug that annoys me, I think it would be simpler to compute the offset when it changes and store it as a member of UTextWidget. Which means that caret movement might impact the offset as needed (I'm not really sure on how that could be done), so the offending block of code in ubasicstyle.cpp could be removed. This solution could be binded to scrollbars via offset manipulation. Overloading UScrollableWidget methods in UTextWidget to consider the offset seems reasonable to me. Scrollpane fix After looking quickly at the code of uscrollpane.cpp, I'm not really sure o= n the way it works. I'm not familiar with the rendering aspect of the problem= , nor with the content manipulation of the problem. Looking at the code I deducted a few things (that, you can translate to "he didn't understand anything"). Please correct me and enlighten me on the subject. - Scrollpanes are zones that are possibly larger that displayable area. - Displayed area is manipulable with UScrollPane methods, which provides additionnal methods for straight inclusion into other widget, l= ike wheel handling. Special key handling (PG_UP, PG_DOWN, UP/DOWN/LEFT/RIGHT= ) doesn't seem to be considered in this part. - Scrollpanes are designed to be binded to scrollbars. - Scrollpane content is given by providing some UScrollableWidget to the constructor. Looking at morewidgets.cpp (L83), I see that scrollbars are automaticly added for listboxes. Adding stuff to the listbox after creating the scrollpane works fine, the scrollbars continue to work (and are properly resized) with the newly added items. This doesn't work for UTextEdit objects for some strange reason : scrollbar= s don't appear after typing text. Worse, cursor doesn't move the box if a scrollpane is used -- which is normal if the "box moving" part is in the specific drawing code of UTextWidget likes. I'm eagerly waiting for your feedback before starting my coding night ;) -- { drozofil -- www.lwo-lab.net } |