
| # | User | Message | Date |
| 9448 | Pekr | If View sucks, well then. But it is a good measure of how it is "usable" in real-life ... | 13-Jan 16:29 |
| 9447 | Henrik | good idea | 13-Jan 11:49 |
| 9446 | Dockimbel | I think I'll drop View support in Cheyenne completely in the next release and search for a suitable third party graphic library to add. | 13-Jan 11:29 |
| 9445 | Dockimbel | Anyway, thanks to you and nconvert, I could deliver the new CureCode feature to my customer this morning. | 13-Jan 11:28 |
| 9444 | Dockimbel | Pekr: thanks for the confirmation. Why does it appear in documentation then? http://www.rebol.com/docs/draw-ref.html#section-3.15 | 13-Jan 11:26 |
| 9443 | WuJian | view layout [text-list data parse read %myfile.txt ""] | 13-Jan 9:09 |
| 9442 | BenBran | Thanks Graham. view layout compose [text-list (data)] ; worked | 13-Jan 5:10 |
| 9441 | Graham | so you can do this ... get the block first data: to-block read %myfile.txt and then compose on the block view layout compose/only [ text-list (data) ] | 13-Jan 5:03 |
| 9440 | Pekr | Doc - Cyphre confirmed bilinear filter is missing in R2 draw. It could be added, if we wish so for R2 updates. In R3, there is new parameter for such purposes, called RESAMPLE | 13-Jan 5:00 |
| 9439 | Graham | VID = Visual Interfaces Dialect. | 13-Jan 4:59 |
| 9438 | Graham | everything inside the layout [ ] is not rebol code .. it's a dialect | 13-Jan 4:59 |
| 9437 | BenBran | view layout [text-list "this" "is" "a" "text" "list"] myFile.txt contains "this" "is" "a" "text" "list" how can I: view layout [text-list read %myFile.txt] ? tia | 13-Jan 4:57 |
| 9436 | Dockimbel | Convolve effect could actually help get Lanczos filter implemented at mezz level with decent speed. | 13-Jan 0:09 |
| 9435 | Dockimbel | Pekr, thanks for NConvert link and for pointing me to Convolve operator, pity it's not mentioned in any of the View doc I know of. | 13-Jan 0:07 |
| 9434 | Geomol | I tried resize both under Windown and OS X with same result. No filtering. | 12-Jan 23:58 |
| 9433 | Dockimbel | Looks like NConvert is a good solution for now. It's simple enough, supports the right filters and is multiplatform. | 12-Jan 23:55 |
| 9432 | Geomol | Yeah, you're right. Too bad. :-/ | 12-Jan 23:46 |
| 9431 | Dockimbel | Looking at the nconvert solution... | 12-Jan 23:44 |
| 9430 | Dockimbel | Geomol: same result with your code. | 12-Jan 23:43 |
| 9429 | Dockimbel | The original image is the CureCode homepage viewed inside Chrome (http://curecode.org) | 12-Jan 23:40 |
| 9428 | Dockimbel | left=REBOL, right=IrfanView | 12-Jan 23:39 |
| 9427 | Geomol | Hm, different to say 100%, if my version is filtered. Some results look ok, others maybe not so good. | 12-Jan 23:39 |
| 9426 | Dockimbel | This is what I get with my current code : http://softinnov.org/tmp/thumbs64.png | 12-Jan 23:39 |
| 9425 | Dockimbel | Geomol: I'll try it right now. | 12-Jan 23:39 |
| 9424 | Pekr | do http://www.rebol.com/view/demos/convolve.r | 12-Jan 23:36 |
| 9423 | Geomol | Doc, my version seems filtered to me. Have you tried? | 12-Jan 23:34 |
| 9422 | Pekr | btw - nconvert is 1.8MB one single exe with all filtering capability of xnview inside. Should be cross-platform too IIRC. But - the licence might not fit, I don't know ... | 12-Jan 23:34 |
| 9421 | Dockimbel | How do you access CONVOLVE operator? (can't see it in Draw documentation) | 12-Jan 23:33 |
| 9420 | Henrik | you can blur the image before downscaling, but it can smear it more and the image isn't as clear. | 12-Jan 23:33 |
| 9419 | Pekr | I use lanczos in XnView by default ... | 12-Jan 23:32 |
| 9418 | Pekr | couldn't convolve filter be used somehow? | 12-Jan 23:32 |
| 9417 | Dockimbel | Lanczos (IrfanView) is giving incredible good results. | 12-Jan 23:32 |
| 9416 | Geomol | It seems to be ok without the filter, so maybe some default filter is in action. Let me check... | 12-Jan 23:32 |
| 9415 | Dockimbel | I'm working with 64x64 | 12-Jan 23:31 |
| 9414 | Geomol | (or give it as an argument) | 12-Jan 23:31 |
| 9413 | Dockimbel | That's almost the code I've made already. The issue is not having BILINEAR or any other good enough filter for thumbnails. | 12-Jan 23:31 |
| 9412 | Geomol | Change the 160 to some other value, if you need other size. | 12-Jan 23:31 |
| 9411 | Geomol | Call RESIZE with a loaded image. It'll save the img.png file, that'll have x-size of 160. It looks ok here. | 12-Jan 23:30 |
| 9410 | Geomol | Just a test: set 'resize func [img /local sz c1 c3 i2] [ if file? img [img: load-image img] scale: img/size/x / 160 sz: as-pair 160 round img/size/y / scale c1: 1x0 * sz c3: 0x1 * sz i2: to-image layout [origin 0 box sz effect [draw [image img 0x0 c1 sz c3]]] save/png %img.png i2 ] | 12-Jan 23:29 |
| 9409 | Dockimbel | Ah nice! I started looking at http://en.wikipedia.org/wiki/Lanczos_resampling to see if a REBOL implementation would be fast enough. | 12-Jan 23:29 |
| 9408 | Graham | can't you call R3 from R2 ? | 12-Jan 23:29 |
| 9407 | Geomol | Doc, I might have a resizer to make thumbs... | 12-Jan 23:28 |
| 9406 | Dockimbel | If R2/Draw is not going to be updated, there's no point in bothering him. | 12-Jan 23:26 |
| 9405 | Pekr | Try contact Cyphre ... or I will ask him ... | 12-Jan 23:25 |
| 9404 | Dockimbel | Well, the point in using REBOL+my own closely integrated frameworks is to avoid third-party dependencies... | 12-Jan 23:24 |
| 9403 | Pekr | ... well, just kidding ... I thought it is a one-time job .... | 12-Jan 23:22 |
| 9402 | Pekr | get used to what other environments do ;-) | 12-Jan 23:22 |
| 9401 | Dockimbel | Yes, once only, I guess CALL would be ok, just need to install ImageMagic on Windows, test it, then install it on Linux server, test again, then add this package to the list of dependencies to maintain...cool! | 12-Jan 23:20 |
| 9400 | Pekr | just workarounds too ... before Cyphre fixes/extends Draw ... but I doubt any native changes are going to be backported to R2. | 12-Jan 23:20 |
| 9399 | Pekr | there are wrappers to image-magick, no? Or - you could use nconvert from xnview package from command line too ... | 12-Jan 23:19 |
| 9398 | Dockimbel | Yes, I know, I'm really pissed off by the misleading Draw documentation... | 12-Jan 23:18 |
| 9397 | Henrik | Just trying to help :-) I could see the use here for launching r3 processes from Cheyenne for limited special functions. I assume the thumbnails are generated once? | 12-Jan 23:17 |
| 9396 | Dockimbel | Nice, so now could you port Cheyenne + CureCode to R3 in one night? If not, I can't see how R3 can help me. | 12-Jan 23:14 |
| 9395 | Henrik | Fortunately R3 has no problem with this. | 12-Jan 23:13 |
| 9394 | Dockimbel | I'm finishing attached files management for CureCode with thumbnails generation....too bad, you'll have horrible thumbnails... Once again with REBOL, stuck at 95% of the goal and no (simple) way to workaround. That's how I usually loose all the time gained by using REBOL instead of another language...Where's that Rant channel? :-) | 12-Jan 23:08 |
| 9393 | Henrik | forget making smooth thumbnails with R2 :-) | 12-Jan 23:03 |
| 9392 | Henrik | bilinear only works with scaling up | 12-Jan 23:03 |
| 9391 | Dockimbel | If BILINEAR filter is not working or not implemented (while being documented), that would be really a pity to have to code my own bilinear filter in REBOL which would be probably too slow to use, or install a 10MB library like ImageMagic... | 12-Jan 23:02 |
| 9390 | Dockimbel | Does anyone know if IMAGE-FILTER BILINEAR is working in Draw? I see no differences with NEAREST mode (which looks horrible when scaling down a big image, even with preserved aspect ratio). | 12-Jan 22:57 |
| 9389 | Dockimbel | Can't find the DRAW group anymore, so I'm posting here. | 12-Jan 22:55 |
| 9388 | Graham | Yes, it seems to be a result of using rebgui's display/parent ... | 26-Dec 0:33 |
| 9387 | Graham | It's also occuring if I use the close gadget at the top right .. | 25-Dec 23:23 |
| 9386 | Graham | Maybe it's just a rebgui issue ... | 25-Dec 23:19 |
| 9385 | Graham | I wonder if it's the Z order that is the problem | 25-Dec 23:15 |
| 9384 | Henrik | they shouldn't | 25-Dec 23:09 |
| 9383 | Graham | If you use unview/only window, why should any other windows close down as well? | 25-Dec 23:07 |
| 9382 | Gabriele | set the width and then use size-text | 23-Dec 9:19 |
| 9381 | Graham | ie. control the width and let the height expand to as necessary. | 23-Dec 4:35 |
| 9380 | Graham | In easy-vid, Carl creates layouts of a fixed size, and fits all his text accordingly. Hypernotes creates layouts that are variable in height. How is this done? | 23-Dec 4:34 |
| 9379 | Pekr | as for me - simple CGI stuff, some automatition tasks, few GUI utils .... | 20-Dec 11:23 |
| 9378 | Nicolas | What do you mostly use rebol for? | 20-Dec 11:20 |
| 9377 | Nicolas | This is the first step to creating a zooming user interface | 20-Dec 11:16 |
| 9376 | Pekr | comments here in Altme? No - they can't be deleted ... | 20-Dec 11:15 |
| 9375 | Nicolas | I guess they can't. Anyway, thanks for your help! | 20-Dec 11:14 |
| 9374 | Nicolas | Can comments be deleted? | 20-Dec 11:14 |
| 9373 | Nicolas | REBOL [] window: layout [i: image rate 5 load http://rebol.com/graphics/kits.jpg key escape [halt]] zoom-in: does [i/size: i/size * 5 / 4] zoom-out: does [i/size: i/size * 4 / 5] down: false alt-down: false insert-event-func [ probe event/type switch/all event/type [ down [down: true] up [down: false] time [if down [zoom-in]] alt-down [alt-down: true] alt-up [alt-down: false] time [if down [zoom-in] if alt-down [zoom-out]] ] center-face i show window event ] view/options window [resize] | 20-Dec 11:12 |
| 9372 | Nicolas | window: layout [i: image rate 5 load %gtfo.jpg key escape [halt]] zoom-in: does [i/size: i/size * 5 / 4] zoom-out: does [i/size: i/size * 4 / 5] down: false alt-down: false insert-event-func [ probe event/type switch/all event/type [ down [down: true] up [down: false] time [if down [zoom-in]] alt-down [alt-down: true] alt-up [alt-down: false] time [if down [zoom-in] if alt-down [zoom-out]] ] center-face i show window event ] view/options window [resize] | 20-Dec 11:11 |
| 9371 | Nicolas | Here's a prototype | 20-Dec 11:11 |
| 9370 | Nicolas | I'll try that | 20-Dec 11:05 |
| 9369 | Pekr | yes, you can ... well, but I am not much experienced in that. You need to test event/type for 'time value. But how to get time events there? Maybe setting face/rate: desired-value-per-second could help? | 20-Dec 11:04 |
| 9368 | Nicolas | Could I flick over to event detection every tenth of a second somehow? | 20-Dec 11:01 |
| 9367 | Nicolas | Yeah, that's the problem. | 20-Dec 10:59 |
| 9366 | Henrik | hmm... well, I guess you need to keep that going, while the button is held down, otherwise no events are fired. | 20-Dec 10:59 |
| 9365 | Nicolas | Thanks Henrik | 20-Dec 10:57 |
| 9364 | Henrik | detect on mouse down and stop zooming on mouse up | 20-Dec 10:57 |
| 9363 | Nicolas | I want to make a program that zooms in on a picture while I hold down the left mouse button and that zooms out when I hold down the right mouse button. Any ideas? | 20-Dec 10:56 |
| 9362 | Graham | Thanks I'll give it a go. | 17-Dec 19:30 |
| 9361 | Gregg | Inside a view window, you can remove the face from the pane and append it again, so it's a the top of the z-order. I can't remember trying that with screen-face though. | 17-Dec 19:07 |
| 9360 | Gregg | I use the Windows API to do it Graham, but I don't have a cross-platform solution. | 17-Dec 19:05 |
| 9359 | Luis | top-most example: http://pastebin.ca/1718241 | 17-Dec 15:14 |
| 9358 | Graham | What I want to do is keep a separate menu window open so that no matter what other windows are open, the menu window stays on top. | 17-Dec 8:30 |
| 9357 | Graham | Any window ... | 17-Dec 8:27 |
| 9356 | Henrik | by forcing it to front, do you mean modal or just moving any window to front? (The kit has a simple function for the last bit) | 17-Dec 8:02 |
| 9355 | Graham | Anyway to set the Z order of windows once they are already up? | 17-Dec 6:00 |
| 9354 | Graham | How do you force a window to the front? setting the activate flag and show doesn't seem to work | 17-Dec 4:05 |
| 9353 | Henrik | that would be cool | 14-Dec 8:18 |
| 9352 | Graham | should ask Carl for a copy of the VID related bug reports so that you can fix them in vidext :) | 14-Dec 8:16 |
| 9351 | Henrik | graham, might as well add it to my tracker too. | 14-Dec 7:35 |
| 9350 | Graham | ok, submitted | 14-Dec 4:40 |
| 9349 | Graham | hard to find stuff on rebol.net now .... | 14-Dec 4:37 |
| 9348 | Gregg | Still RAMBO AFAIK. Unless they've moved things to CureCode. | 14-Dec 4:36 |
| 9347 | Graham | what's the current bug tracker for R2 ? | 14-Dec 4:33 |
| 9346 | Graham | That means we can now write the documentation :) | 14-Dec 4:32 |
| 9345 | Gregg | I'd say it's a bug Graham. | 14-Dec 4:30 |
| 9344 | amacleod | RE: printing vid faces by converting them to images for document printing... I found that a multiplier of 3 is sufficient for good quality text...maybe 5x for super quality | 14-Dec 3:01 |
| 9343 | Graham | Hard to say it's a bug because there never was any documentation on the LED face | 14-Dec 0:26 |
| 9342 | Graham | In the first case the led can not be switched using the mouse, but by adding the action block it can ! | 14-Dec 0:14 |
| 9341 | Graham | Is this a VID bug?? >> view layout [ led 20x20 ] >> view layout [ led 20x20 [] ] | 14-Dec 0:09 |
| 9340 | Henrik | http://rebol.hmkdesign.dk/files/vid-postscript2.png | 11-Dec 8:34 |
| 9339 | Henrik | doesn't support bitmaps yet (have only used it for printing text), but you use it like to-image. | 11-Dec 8:34 |
| 9338 | Henrik | also it doesn't output postscript directly, but dialect words for Geomol's postscript.r dialect. | 11-Dec 8:30 |
| 9337 | Henrik | Oops, View, not VID. It only depends on faces, not the VID dialect. | 11-Dec 8:29 |
| 9336 | Henrik | http://rebol.hmkdesign.dk/files/to-postscript.r | 11-Dec 8:28 |
| 9335 | Henrik | amacleod, it's VID to PS and it works fairly OK. I've used it for printing some statistics tables. | 11-Dec 8:27 |
| 9334 | Maxim | with R3, someone is bound to make a client for the windows printing engine :-) | 11-Dec 7:23 |
| 9333 | Maxim | the pdf conversion should actually be pretty easy. look it up. pdf maker supports images, vector art... and its a dialect IIRC so it should be a big thing to go from your view layout to this other dialect. | 11-Dec 7:21 |
| 9332 | amacleod | Thanks for the help Maxim. | 11-Dec 7:20 |
| 9331 | amacleod | I played around with it...
AGG looks great on screen but prints fuzzy like you said...
Increasing resolution looks sharp on printout...
I do not know if I should spend time playing with scaling or just biting the bullet and converting output to HTML or pdf ...I had planned on it anyway but as usual what I thought would be a quick one or two day project turns into a week to make it "right"... But always an opportunity to learn new stuff! | 11-Dec 7:20 |
| 9330 | Maxim | photoshop allows you to change the meta information about dpi without resizing the image... I don't know if there are little tools which you can run command-line that will do it too. | 11-Dec 5:34 |
| 9329 | Maxim | you need to set the dpi of the printout to a higher value. I don't know about that solution, but either it supports the dpi value of the input image, when it has one, or you should be able to set it directly. 612 / 72 = 8.5 ;-) so your values are standard video dpis | 11-Dec 5:27 |
| 9328 | amacleod | I was using a print method calling MS image viewer transparently to print without opening up but I as adivised to keep my image at 612x792 to keep it on one page...how do increase 5x now? | 11-Dec 5:23 |
| 9327 | Maxim | for printing from REBOL, the best thing is to use one of the variations of the PDF dialects out there and printing that out. there are a few guys around here who have some experience doing this. | 11-Dec 5:22 |
| 9326 | Maxim | using anti-aliased images you can lower the resolution without it looking too bad... cause the edge will gray out instead of being jagged blocks. but they will look fuzzy instead. | 11-Dec 5:20 |
| 9325 | Maxim | normal printing, uses vectorial information, so the convertion from shapes to points (rasterization) is done directly at print time. | 11-Dec 5:19 |
| 9324 | Maxim | when I was doing an art project, I had to create a printout for a 36 inch wide image... the file was an 508 mb, 300 dpi image. | 11-Dec 5:18 |
| 9323 | Maxim | yep. | 11-Dec 5:17 |
| 9322 | Maxim | so if you are creating images for printout, you have to think larger faces with larger font sizes... screen dpi is typically between 72-100 dpi, printers now usually printout at around 600 dpi.... so if you want to have clean images, they should be around 5 to 10 times larger. | 11-Dec 5:17 |
| 9321 | amacleod | sacel = scale | 11-Dec 5:17 |
| 9320 | amacleod | Maxim, so to display a proper page I would need to increase the sacel of my vid image quite a bit...larger than screen? | 11-Dec 5:16 |
| 9319 | amacleod | How far did Henrik get with his vid to pdf dialect? My layout is all text except for one small b/w image... | 11-Dec 5:15 |
| 9318 | Maxim | the fonts will be anti-aliased (which is what I meant to say above)... but in any case, the resolution you use on your printer is always much higher than you screen resolution. | 11-Dec 5:15 |
| 9317 | amacleod | use 'draw' to lay it out wll produce better image? | 11-Dec 5:14 |
| 9316 | Maxim | (and scale all the graphics involved in your face) | 11-Dec 5:13 |
| 9315 | amacleod | vid layout | 11-Dec 5:13 |
| 9314 | Maxim | either you use AGG for aliased fonts, or you increase image size so its equal to the dpi you want to print. | 11-Dec 5:13 |
| 9313 | amacleod | I'm trying to print a vid face face via conversion to image... what's the best way to get good text quality... ie...is the a best font to use... my out put is a little jaggy | 11-Dec 5:11 |
| 9312 | Gregg | Also, don't forget SET-FACE. | 9-Dec 23:32 |
| 9311 | Dockimbel | It's documented in Core manual: http://rebol.com/docs/core23/rebolcore-16.html#section-3.3.3 | 9-Dec 17:22 |
| 9310 | amacleod | Got it! Thanks a lot, Henrik.! I did not know that about to-logic... not mentioned in "Word browser" | 9-Dec 15:50 |
| 9309 | Henrik | to-logic on a word is always true: >> to-logic 'true == true >> to-logic 'false == true | 9-Dec 15:42 |
| 9308 | Henrik | reduce blk first | 9-Dec 15:42 |
| 9307 | amacleod | having trouble with checkbox updating... this works > chbx1/data: true show chbx1 but if I take the state from a block > blk: [ "String" true] chbx1/data: blk/2 IT DOES NOT WORK. I've also insured its a logic value with> chbx1/data: to-logic blk/2 Any ideas? | 9-Dec 15:18 |
| 9306 | Brock | Google query of: HP Touchsmart tx2 Dell XT2 finds lots of info | 29-Nov 23:04 |
| 9305 | Brock | Yes, the TX2 is what I was actually looking at. I'll have to see if I can find a comparison of the two units. | 29-Nov 23:02 |
| 9304 | Graham | Brock the Touchsmart TX2 is also dual mode ... see the reviews. There's some mention of lag when using the touch but you might be able to live with that. | 29-Nov 22:08 |
| 9303 | Graham | I wanted accurate pen use which needs an active screen, and also touch. | 29-Nov 21:16 |
| 9302 | Graham | Brock .. no. I bought a touchsmart IQnnnn ( 19 inch wide I think ) for someone else but I don't think it was multitouch. | 29-Nov 21:16 |
| 9301 | Brock | Graham, did you happen to look at the HP Touchsmart (12.1")? I see it offere at the local big-box stores for about $900 Canadian. Gave it a try and it seemed like a nice machine. | 29-Nov 15:58 |
| 9300 | Graham | There's some issue with Windows 7 RC1 and the multitouch driver ... so I have put it down while awaiting the official Wndows 7 dvd from Dell. | 29-Nov 10:03 |
| 9299 | Henrik | Graham, so your arms get tired yet? :-) | 29-Nov 8:44 |
| 9298 | Graham | It's the Dell XT2 http://www.dell.com/tablet View apps work fine. | 28-Nov 23:32 |
| 9297 | Brock | I'm contemplating getting one and would like to know how well Rebol View apps work with it. I'm assuming they'd work just fine, but don't have the kind of money that I can take a chance ;-) | 28-Nov 23:29 |
| 9296 | Brock | What laptop is that Graham? | 28-Nov 23:28 |
| 9295 | Graham | My new laptop with multitouch screen has just arrived .. the surface demos are interesting ... using two - four fingers to manipulate images, or a virtual earth. Now .. it would be nice if R2 or 3 can support this! | 28-Nov 23:11 |
| 9294 | Graham | interesting ... | 24-Nov 8:37 |
| 9293 | Cyphre | I think you should be able to receive this event thru system port (not tested). The main problem is that there is a bug in system port so the events (in general) aren't detected unless rebol console is opened. It would be great improvement if this is fixed in new R2 release but you need to push Carl ;) | 24-Nov 8:32 |
| 9292 | Graham | Is there a way to receive wm_gestures ? Will this be added to an enhanced R2 ? | 24-Nov 6:58 |
| 9291 | Maxim | yep... but an 'interrupt mechanism would be nice to have. it makes a lot of stuff much easier to architecture especially when you have multiple ports to handle and state is complex. you can just add a loop which includes all event handlers and interrupt all of them... check some states and then decide if you re-enable some or all of them, until you decide to stop the loop. this way, a view event, can also interrupt network xfer for example. | 5-Nov 11:17 |
| 9290 | Gabriele | the alternative is to use global values / flags. the modal (popup) system in VID does exactly that. | 5-Nov 10:58 |
| 9289 | Gabriele | "there is no way for that code to interrupt the event handler" - right, but you're not "outside" the event handler. you're still inside, and it would be easy to look at the return value of that code. that of course makes VID programming more difficult because you always have to remember to return FALSE. | 5-Nov 10:57 |
| 9288 | Maxim | the event handling dispatches code related to the event that triggered it. there is no way for that code to interrupt the even handler, especially when the event handler isn't programmed by yourself. when you add wait [] in a function, there are many reasons why to want that wait to return. in this case, modal operation of some code. wait is a nested system where a second call to wait doesn't break the first call to wait. To allow this I had to patch view's wake-event directly, but it works now.. there is no way for a normal action to interrupt event handling a part from closing all windows, which made this modal operation of my code especially complex to build without an interruption mechanism. I've had other situations like having a systray and view not collaborating, where closing a window ends the app even when the systray is running, or where the window wait keeps running even if all windows are closed and the systray was then hidden as well. a timer event would have easily solved that issue by interrupting appropriate event handlers when it detects some situations. | 5-Nov 10:53 |
| 9287 | Gabriele | if you are inside wait, you are inside the event handling. so "interrupt a wait outside of its event handling" makes no sense to me. | 5-Nov 10:44 |
| 9286 | Maxim | did anyone do a VID compatible tree view control. the only one I can find is the one within rebol.org from the request-dir.r script. not that its bad, just probing to see if there are others which would work more quickly for this project where I need it. | 5-Nov 7:30 |
| 9285 | Maxim | yeah, I had to patch wake event to add the functionality... would be nice to be able to interrupt a wait outside of its event handling. is this doable in R3? | 5-Nov 0:42 |
| 9284 | Gabriele | the awake handler needs to return TRUE | 4-Nov 9:32 |
| 9283 | Maxim | ex: a button with something like [kill-wait] in its action. | 4-Nov 3:00 |
| 9282 | Maxim | anyone know how to break a call to wait [] so wait returns? | 4-Nov 2:51 |
| 9281 | Janko | I already told this here but I know AGG was used in this higher profile "indie" game: http://www.wikgame.com/ | 31-Oct 18:35 |
| 9280 | Cyphre | compound rasterizer: well, this is another type of rasterizer(which has been already implemented into AGG2.4 codebase). I haven't made any perofrmance tests comparing the scanline AA rasterizer we are using but it could be a bit faster because this method shouldn't redraw objects one over another.(ie it renders the image 'flattened') I can't tell you how much faster it could be but the more layers you are using the bigger difference could be seen. | 31-Oct 18:01 |
| 9279 | Cyphre | re Cairo: Cairo seems to be popular mainstream. But AGG is used in a lot commercial projects silently so it is hard to tell. The facts are: 1. Cairo is slower than AGG.(when comparing SW rendering) 2. Cairo is a graphics library, AGG is a 'kit' to build graphics libraries. | 31-Oct 17:55 |
| 9278 | Pekr | For the purpose of possible View enhancements, we started following document - so please update it, so that your ideas are not lost - http://www.rebol.net/wiki/View_Project | 31-Oct 17:46 |
| 9277 | Pekr | 80-100% improvement sounds too good to be true :-) Would we get any other speedup, e.g. changing to compound rasterizer? | 31-Oct 17:45 |
| 9276 | Pekr | So - everybody going the Cairo way nowadays? | 31-Oct 17:44 |
| 9275 | Cyphre | From my last talk with the author of AGG we can use even version 2.5 without any problems. So far R3 AGG implementation is somehow blended between 2.3-2.4 Otherwise it is true the author(Maxim aka McSeem) is not active developing(at least publicly) AGG. But There is still small hard-core team which keeps improving the code with little steps. For example I'd personally would like to try implement completely new AA rasterizer which could make the rendering theoretically faster by 80-100% but this is long time run given my limited time. Next step could be make HW accelerated frontend for AGG. But this is 'pandora box' or 'can of worms' for me as I don't have energy to take care of all possible bugs in all possible GFX cards and setups at the moment :) | 31-Oct 17:37 |
| 9274 | BrianH | Preferable, yes :) | 31-Oct 3:23 |
| 9273 | Maxim | ok, its just fun when the author continues to contribute ... it improves without us having to do all the work. | 31-Oct 3:19 |
| 9272 | BrianH | When last I heard, the guy got a job doing .NET stuff or some such and stopped developing AGG two years ago. Afaik he changed the license from BSD for 2.4 to GPL for 2.5, saying that "all future development" would be to the GPL version. However, the license change was the only difference between 2.4 and 2.5, and there was no future development. All afaik. So, abandoned, but BSD-licensed so who cares? | 31-Oct 3:18 |
| 9271 | Maxim | seems that AGG hasn't been updated in 2 years! should we fear it is being abandonned? | 31-Oct 2:42 |
| 9270 | Graham | Has anyone written a to-do list manager? There was one on IOS but I don't have the client for that anymore, and my recall is that it was fairly basic. | 30-Oct 19:48 |
| 9269 | Maxim | Any one have a "disapearing scroller bar problem? i've tracked the bug down to the various redraw funcs in the scrollpane... but can't seem to fix it... the ridiculous thing is that the bar disapears when you active the window the scrollbar is in! go to/from another window and "sometimes" the scroller knob offset gets set to some improper value, and it disapears. | 28-Oct 7:47 |
| 9268 | Janeks | The rebface too did the same. | 22-Oct 15:42 |
| 9267 | Janeks | I already tried rebview from that package, but it also didn't work saying cannot execute binary file. I guess that it is connected with linux platform - mine is PPC. | 22-Oct 15:41 |
| 9266 | Janeks | O'k - I'll try to at least test it. | 22-Oct 15:33 |
| 9265 | Dockimbel | Some features are locked until you purchase a commercial license from RT. | 22-Oct 15:32 |
| 9264 | Dockimbel | You can download it from here : http://www.rebol.net/builds/ | 22-Oct 15:30 |
| 9263 | Janeks | And it is pitty that on win it works, but not on Linux. :( | 22-Oct 15:29 |
| 9262 | Janeks | O'k, but any way - than I need SDK. | 22-Oct 15:28 |
| 9261 | Dockimbel | http://rebol.com/docs/sdk/kernels.html#section-5 | 22-Oct 15:26 |
| 9260 | Janeks | What is rebface? | 22-Oct 15:16 |
| 9259 | Dockimbel | # sdk/tools/rebview -ivwt ** User Error: Bad face in screen pane! ** Near: size-text self | 22-Oct 15:12 |
| 9258 | Dockimbel | Testing on a linux server with Xlibs installed (but no X server) : # sdk/tools/rebview ** User Error: Bad face in screen pane! ** Near: size-text self # sdk/tools/rebface REBOL/View 2.7.6.4.2 (15-Mar-2008) Copyright 2008 REBOL Technologies REBOL is a Trademark of REBOL Technologies All rights reserved. Set-Net not provided. >> | 22-Oct 15:11 |
| 9257 | Janeks | The same result:
** User Error: REBOL: Cannot connect to X server ** Near: size-text self | 22-Oct 15:09 |
| 9256 | Janeks | that should mean no install, no window, no viewtop and trace | 22-Oct 15:08 |
| 9255 | Janeks | last try rebol -ivwt | 22-Oct 15:07 |
| 9254 | Janeks | and fisrt trying to make some hello in ssh | 22-Oct 15:06 |
| 9253 | Janeks | apache, but I have also ssh | 22-Oct 15:06 |
| 9252 | Dockimbel | Which webserver are you using? | 22-Oct 15:05 |
| 9251 | Janeks | thanks | 22-Oct 15:04 |
| 9250 | Dockimbel | Command lines switches : >> usage | 22-Oct 15:03 |
| 9249 | Janeks | no I haven' t | 22-Oct 15:02 |
| 9248 | Dockimbel | <If> | 22-Oct 15:02 |
| 9247 | Dockimbel | I you have the SDK, you should try with rebface instead of rebview. | 22-Oct 15:02 |
| 9246 | Janeks | Sory - not -w | 22-Oct 14:57 |
| 9245 | Janeks | I had find some descriptions for core in the docs but not for view. Just somewhere found by google in an example that -v or -w, but I know that in win system both of them are working. The -v opens rebview in console mode. | 22-Oct 14:56 |
| 9244 | Henrik | I'm not sure how to bring up the list of command line switches | 22-Oct 14:50 |
| 9243 | Janeks | ?? | 22-Oct 14:49 |
| 9242 | Henrik | Can't see the command line switches... | 22-Oct 14:48 |
| 9241 | Janeks | Does the command switch -v and -c does not prevent that? | 22-Oct 14:46 |
| 9240 | Henrik | the problem could be that REBOL is trying to open the desktop | 22-Oct 14:45 |
| 9239 | Henrik | I don't think that's the problem | 22-Oct 14:45 |
| 9238 | Janeks | could it be connected with that fact, that it is ppc version of Rebol & Linux? | 22-Oct 14:40 |
| 9237 | Janeks | So I have all needed libs: ldd /usr/bin/rebol libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x0ff67000) libX11.so.6 => /usr/lib/libX11.so.6 (0x0fe34000) libXext.so.6 => /usr/lib/libXext.so.6 (0x0fe00000) libXt.so.6 => /usr/lib/libXt.so.6 (0x0fd7f000) libXaw.so.6 => /usr/lib/libXaw.so.6 (0x0fd16000) libXmu.so.6 => /usr/lib/libXmu.so.6 (0x0fcdc000) libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x0fbf3000) libm.so.6 => /lib/tls/libm.so.6 (0x0fb5a000) libdl.so.2 => /lib/tls/libdl.so.2 (0x0fb36000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0fb03000) libc.so.6 => /lib/tls/libc.so.6 (0x0f98f000) libz.so.1 => /usr/lib/libz.so.1 (0x0f959000) libXau.so.6 => /usr/lib/libXau.so.6 (0x0f936000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x0f910000) libSM.so.6 => /usr/lib/libSM.so.6 (0x0f8e6000) libICE.so.6 => /usr/lib/libICE.so.6 (0x0f8ac000) /lib/ld.so.1 (0x48000000) Now when i fire it: rebol -v ** User Error: REBOL: Cannot connect to X server ** Near: size-text self The same with -cs - in that case it just gives second line... | 22-Oct 14:39 |
| 9236 | Henrik | that shouldn't be necessary. I run it fine on a headless Linode server. | 22-Oct 14:33 |
| 9235 | Janeks | On my server there are no X, they have even no any hardware video connectors. | 22-Oct 14:29 |
| 9234 | Janeks | I already added all libs, but it says "Could not connect to X server" :( | 22-Oct 14:26 |
| 9233 | Dockimbel | Sure it can run with rebview but rebview requires Xlibs to be installed. | 22-Oct 14:26 |
| 9232 | Henrik | you need a range of libraries to run it with View. it works fine with View. | 22-Oct 14:20 |
| 9231 | Janeks | So it could not run with rebview? :( | 22-Oct 14:17 |
| 9230 | Dockimbel | /Command is not a command line switch, it's a REBOL product : http://rebol.com/command.html. /Command is also included in REBOL/SDK. | 22-Oct 13:06 |
| 9229 | Janeks | Hi! I am trying to get running SoftInnov's captcha on my Linux. Documentation tels that it is : DRAW based : doesn't require View engine, just DRAW (can run with /Command on UNIX without Xlibs installed). But it seem is not right commandline switch - I am getting any way library errors. Is it the right commandline switch? Or do I need any way those linux libraries? P.S. I also tried -v | 22-Oct 11:35 |
| 9228 | amacleod | I got it | 4-Oct 4:35 |
| 9227 | amacleod | never mind | 4-Oct 4:35 |
| 9226 | amacleod | bingo! Thanks... why does newstuff: copy [] not work here? | 4-Oct 4:34 |
| 9225 | Maxim | same thing... just replace choice by drop down | 4-Oct 4:29 |
| 9224 | amacleod | I was hoping to use the 'drop-down' style (not choice)...is there a difference with the function? | 4-Oct 4:28 |
| 9223 | Maxim | I left the old "do" trick which allows one to easily scan a face to look up how it works... not sure many realize they can do this. | 4-Oct 4:26 |
| 9222 | Maxim | you can also replace face/texts directly I think... | 4-Oct 4:26 |
| 9221 | Maxim | rebol [] items: [] dark-colors: ["Blach" "Navy Blue" "Blood red"] light-colors: ["Gray" "Cyan" "Pink"] append items dark-colors view layout [ drpdn: choice with [texts: items] do [ probe drpdn/init probe drpdn/words probe drpdn/multi probe drpdn/feel ] toggle "hi" "low" [ clear items append items either face/data [light-colors][dark-colors] ] ] | 4-Oct 4:25 |
| 9220 | Maxim | it uses texts... | 4-Oct 4:24 |
| 9219 | Graham | insert clear head mylist/list-data new-data | 4-Oct 4:23 |
| 9218 | Maxim | I'll write you up an example... its easy you'll see. | 4-Oct 4:16 |
| 9217 | amacleod | new_stuff: copy []
foreach book books [append new_stuff book] If this is what you mean, I'm doing it... | 4-Oct 4:13 |
| 9216 | Maxim | you should clear the original block you supplied to the drop down list, and then append new items to it. that should work. | 4-Oct 4:11 |
| 9215 | amacleod | Sorry, not sure what you mean | 4-Oct 4:10 |
| 9214 | Maxim | you must clear /append in the same original block :-) | 4-Oct 4:09 |
| 9213 | amacleod | Having trouble changing the data in a drop-down list... mylist/list-data: new_stuff show mylist works the first time but not there after | 4-Oct 4:08 |
| 9212 | BenBran | source.... I keep forgetting about that command. thanks for the reminder. | 29-Sep 17:29 |
| 9211 | james_nak | Oh, I like the feeling when I can say "Oh, that's how it works." And then there's anamonitor. I can't tell you how many times I've gone back and forth with that tool. :-) | 29-Sep 17:25 |
| 9210 | Steeve | *the magical key | 29-Sep 17:10 |
| 9209 | Steeve | i meant you can't guess until you read the documentation of a specific function. 'help and 'source are they magic keys. | 29-Sep 17:09 |
| 9208 | james_nak | Are you kidding? It took me a long time before I stopped turning everything into a string with my own functions! :-) | 29-Sep 17:07 |
| 9207 | Steeve | It's the central point with Rebol, when a function is accepting a block as input, you can't guess if it will be processed as pure rebol code, list of data, or as a dialect (mixed data and commands). Data is code, Code is data. Never forget. | 29-Sep 16:56 |
| 9206 | james_nak | Thanks. That opens my eyes to what I refer to as Rebol Voodoo. One can easily forget the relationship between a dialect and Rebol. Good stuff. | 29-Sep 16:43 |
| 9205 | Henrik | Ben, see private message. | 29-Sep 16:34 |
| 9204 | BenBran | Henrik, that makes sense. I'll look for docs on the 'with word. Thanks. | 29-Sep 16:33 |
| 9203 | BenBran | Sorry.... should have put the ';; <---- fails' comment next to the line. Hence the rambling questions.... | 29-Sep 16:32 |
| 9202 | Henrik | it won't work, because the edge is not a dialect keyword outside of 'with. | 29-Sep 16:31 |
| 9201 | Steeve | To see if you can, just try it (in your case it fails). | 29-Sep 16:25 |
| 9200 | BenBran | Then is something like this possible? or does the layout function always take input either at that location or the 'edge word as dialect? I guess the question could be... how do we know if we are creating code or dialect and does it matter? view layout [text 100x100 "Hello" edge: make/edge [size: 25x25 color: 0.0.255 effect: 'bevel]] | 29-Sep 16:23 |
| 9199 | Steeve | you can see the source of the layout function to have an idea of how the dialect is processed. But layout is an obfuscated function with too much dependencies with other hidden functions. It's rather difficult to have a whole understanding of how it works. It reclaims several years of training. | 29-Sep 15:40 |
| 9198 | BenBran | Thanks. I'll let the brain gears process this for a while. | 29-Sep 15:37 |
| 9197 | Steeve | because the lo block you constructed contains a dialect, not rebol code. When you call the layout function, the dialect is processed and the values [edge [...]] are translated to code [face/edge: make face/edge [...]] | 29-Sep 15:27 |
| 9196 | Steeve | ahah, i was waiting for that question | 29-Sep 15:24 |
| 9195 | BenBran | question: Why did I not have to 'make the edge initally? | 29-Sep 15:24 |
| 9194 | BenBran | Thanks Steeve. That did the trick. | 29-Sep 15:19 |
| 9193 | Steeve | face/edge is an object, not a block | 29-Sep 15:14 |
| 9192 | Steeve | replace the lines where: >>face/edge: [...] by >> face/edge: make face/edge [...] | 29-Sep 15:12 |
| 9191 | BenBran | Hello All,
I'm working with events but I'm stuck. Any help is appreciated. here is the code: rebol [ title: event testing] lo: [ text 100x100 "Hello" edge [size: 25x25 color: 255.0.0 effect: 'bevel] ;; <--edge set here works feel [ engage: func [face action event] [ if event/type = 'down [ face/color: 0.200.0 show face ] if event/type = 'up [ face/color: 0.0.200 show face ] ] over: func [face into pos] [ if equal? into True [ ;; face/edge: [size: 25x25 color: 0.255.0 effect: 'bevel] ;; <-- edge changed here probe face/edge ;; print into ;; show face ;; <-- doesn't render ] ;; if equal? into False [ ;; face/edge: [size: 25x25 color: 0.0.255 effect: 'bevel] ;; <-- edge changed here probe face/edge ;; print into ;; show face ;; <-- doesn't render ] ;; ] detect: func [face event] [] redraw: func [face action offset] [] ] ] view layout lo | 29-Sep 15:10 |
| 9190 | Henrik | if you look at the source, the file vid-funcs.r contains most of these functions. | 27-Sep 8:08 |
| 9189 | Henrik | Incidentally, the VID Extension Kit has a lot of functions to help in these situations for finding a specific face. To for example find the window a face sits in: root-face face | 27-Sep 8:05 |
| 9188 | Anton | amacleod, I thought all that complication would make you pause. And fair enough. I should say though that I've done the scroll-wheel-handler in the most proper way I can. It seems a pity not to take advantage of its structure. Anyway, it would be nice if you could say what you want to handle alt-click for. I'm still not sure why you want it. If that's clear to me, then I could probably make the new handler for you pretty quickly, as I'm more familiar with my code, obviously. | 27-Sep 7:52 |
| 9187 | Anton | (or until there is no parent-face, which means we are at a top-level window face.) | 27-Sep 7:45 |
| 9186 | Anton | That's exactly what I'm doing in scroll-wheel-handler. Starting with the face clicked on, I climb up to the parent-face iteratively until I find an ancestor of the face which is a scroll-panel. | 27-Sep 7:44 |
| 9185 | Graham | doesn't each face have a value for parent-face ? | 27-Sep 0:23 |
| 9184 | amacleod | not sure how to go about that.. | 26-Sep 23:01 |
| 9183 | Graham | why not just follow the face up to its parent until you hit the scroll panel and then compare then? | 26-Sep 22:13 |
| 9182 | amacleod | I think I see what you are saying, but...
Sounds like more than I want to tackle right now...
I think I'm going to stick with hacking up scroll-panel.r (since it seems to work)...the whole app feels like a hacked mess anyway so when R3 is ready I'll rewrite it for R3...Where I hope alot of these problems will not exist.. Thank you for the help | 26-Sep 21:42 |
| 9181 | Anton | Basically, you will want to make your own "right-click-handler.r", just copying scroll-wheel-handler.r's code and modifying the event type that is checked for to 'alt-down. Scroll-wheel-handler checks for an Anton-extended VID flag, SCROLL-WHEEL, to determine which face should handle the event. So I might also advise you define your own VID flag to indicate that a face handles alt-click, maybe call it simply ALT-DOWN like the event that triggers it, or CONTEXT-MENU-ACTIVE, or whatever you're doing. Then make sure that the faces you want to respond to your "right-click-handler.r" are flagged with this new flag. That's all, simple! | 26-Sep 16:44 |
| 9180 | Anton | Aha, I know what's probably happening. The scroll-panel contains a number of subfaces in a face hierarchy. You are probably not clicking on the scroll-panel face, but on one of its subfaces (which are laid on top of it, event-wise). If you look at scroll-panel.r, near the bottom of the rebol header, you will see the face hierarchy, with the two scrollers, the CROP-BOX and the SUBFACE inside the crop-box. The SUBFACE covers most of the area of the scroll-panel, and the two scrollers take some from the sides. You can test this idea by giving the scroll-panel an edge, then alt-clicking on the edge. You should get a positive identification then. But of course, this is probably not very useful to you. What (I assume) you will need to do is, given a face, find out if it is inside a scroll-panel (or inside a particular scroll-panel of yours). This is a little bit complicated, but I have done most of that coding already for mouse roll-wheel scrolling. (See scroll-wheel-handler.r, and demo-scroll-wheel-handler.r for how to use it.) | 26-Sep 16:37 |
| 9179 | amacleod | Anton, Your method is not working for me: alt-event: func [face event] [ if event/type = 'alt-down [ print "alt-click" if face = my-scroll-panel [print "face name = my-scroll-panel"] ] event ] insert-event-func :alt-event I get "alt-click" but I do not get true for 'if face = my-scroll-panel' I tried 'my-scroll-panel (word) and "my-scroll-panel" (quotes") also.... | 26-Sep 13:04 |
| 9178 | Anton | Yes, probably because not all faces in the system are VID faces. A VID face is an extension of system/standard/face with several facets added, including VAR.
If the event handler came across a non-VID face, then face/var is an invalid path.
So you see, this is an example of why using this method to identify a face is more brittle.
You should better use: face = my-scroll-panel to determine identity of a face. | 26-Sep 5:06 |
| 9177 | amacleod | Anton, I had the same worry about forking.... this addition/change to scroll-panel.r works: detect: func [face event][ if event/type = 'alt-down [ if face/var = 'my-scroll-panel [ print "hello"] ] event ] But this addition to global handler does not: alt-detect: func [face event][ if event/type = 'alt-down [ if face/var = 'my-scroll-panel [ print "hello"] ] event ] insert-event-func :alt-detect get error on face/var | 25-Sep 18:06 |
| 9176 | Anton | Eh? You really ought not to have to modify the scroll-panel.r file. That's just going to cause problems for you down the line, because you are forking. You should be able to override the default scroll-panel feel in your user code. Just let me know what you're trying to do with that and I'll show how. | 25-Sep 14:47 |
| 9175 | Maxim | I always setup stuff in the object directly using the with block. I was just amazed that after so long, such a feature is still unknown to me. :-) | 25-Sep 14:22 |
| 9174 | amacleod | Thanks, I'll try that too Anton. I was not able to gfet Henricks suggestion to work when placing the event handler in the main program...it only worked when placed in the seperate scroll-panel.r file. | 25-Sep 14:21 |
| 9173 | Anton | I reckon you did know this,. Maxim, but you just forgot about because it's not needed so much.
What I do, which is more simple and direct, is just compare face with the word I previously set it to, eg: my-scroll-panel: scroll-panel and later in the event handler just if face = my-scroll-panel [...] This is just comparing two object references for equality, which is more fundamental and doesn't need any facility of VID. | 25-Sep 12:41 |
| 9172 | Maxim | face/var !!! OMG never knew this.... hehe amacleod, there's always stones unturned in REBOL even for us advanced users ;-) | 24-Sep 23:04 |
| 9171 | Henrik | this is done in the LAYOUT function. good one to study: source layout | 24-Sep 22:00 |
| 9170 | Graham | Must be a VID thing. Rebgui doesn''t do this AFAIK | 24-Sep 21:59 |
| 9169 | amacleod | good to know | 24-Sep 21:56 |
| 9168 | Henrik | but when you do that, there is no global word set. it can still be useful however, if you desire to recognize a face using different means, like traversing a pane for a specific face. | 24-Sep 21:55 |
| 9167 | Henrik | scroll-panel with [var: 'a] | 24-Sep 21:54 |
| 9166 | Henrik | oops | 24-Sep 21:54 |
| 9165 | Henrik | you can also set it yourself like this: scroll-panel [with: 'a] | 24-Sep 21:54 |
| 9164 | amacleod | great! Thanks! | 24-Sep 21:54 |
| 9163 | Henrik | face/var is set during layout for all faces that have a set-word! attached. | 24-Sep 21:54 |
| 9162 | Henrik | no problem | 24-Sep 21:53 |
| 9161 | amacleod | Is that because its Anton's style or is that a rebol thing for all faces? | 24-Sep 21:53 |
| 9160 | amacleod | I thought about var but I thhought that would be too simple to work... Thanks alot Henrik! | 24-Sep 21:53 |
| 9159 | Henrik | of course it does :-) | 24-Sep 21:53 |
| 9158 | amacleod | it works... | 24-Sep 21:52 |
| 9157 | amacleod | yeah? | 24-Sep 21:51 |
| 9156 | Henrik | face/var | 24-Sep 21:51 |
| 9155 | Graham | face = a ?? | 24-Sep 21:46 |
| 9154 | amacleod | Sorry for the possible confusion but its one of anton's styles but did not think it would make a diff. | 24-Sep 21:43 |
| 9153 | amacleod | if event/type = 'alt-down [face/style] ...gives me 'scroll-panel' how do i get 'a' or 'b' | 24-Sep 21:41 |
| 9152 | amacleod | a: scroll-panel [blah blah blah
b: scroll-panel [blah blah blah I want to know if I clciked in scroll-panel a or b | 24-Sep 21:38 |
| 9151 | Graham | What name? | 24-Sep 21:35 |
| 9150 | amacleod | I'm need to get the name I assigned a face when I alt-click on it. I can get its style, offset, size etc but I do not see a way to get the face's name. More specificly I have multiple scroll-panels and I need to know the one I'm clicking in... | 24-Sep 21:24 |
| 9149 | Dockimbel | In case you're wondering about the block after SUPPLY, it's used internally by the LIST style to build an iterating function defining a local context where COUNT refers to the current row and INDEX to the current column. Each horizontally positionned face (purpose of the ACROSS keyword) defined in the LIST layout block, is counted as a column, so: txt 100 txt 100 => 2 columns. | 24-Sep 20:10 |