freenode/#clim - IRC Chatlog
Search
13:01:35
yaroe
It works well with X11 on WAN (even with low bitrate DSL connection) by compressing data and eleminating most X protocol round trips
13:06:19
yaroe
There is libvncserver that could be a starting point to build a vnc server backend from a raster or fb backend
14:03:41
slyrus_
so I've been thinking about better ways to render bezier designs on CLX. Seems like the easiest approach is to use the render back end, no?
14:05:24
slyrus_
I have what I think is a brutal, but trivially fixed bug in CLX/medium.lisp that was one of the first problems
14:05:51
slyrus_
once the CLX stuff works well, the first iteration could reasonably be declared done :)
14:06:35
beach
slyrus_: I am delighted that you are doing all this work on Bezier drawing. I am sure it will be very useful for lots of people.
14:06:47
slyrus_
render, Xrender, RasterImage, etc... lots of similar sounding words meaning different things
14:07:16
jackdaniel
ah, xrender extension - it's X11 protocol extension allowing blitting predrawn images
14:08:51
slyrus_
yes, I know, but I was talking about using the existing render backend code for the bezier drawing (via cl-vectors, IIRC). and then we blit that onto our CLX medium.
14:10:05
jackdaniel
but isn't blitting onto CLX medium basically using XRender underneath? that's what I meant at least
14:11:37
slyrus_
so what I was thinking was 1) compute bounding rect 2) blit pixels from CLX medium to a render-medium-mixin 3) draw the bezier design on the render-medium-mixin, 4) blit back to the CLX medium. Maybe we don't need to do that.
14:13:09
slyrus_
but the two (heh) problems I ran into were 1) choice of/how to instantiate the new medium to draw on and 2) how to blit back and forth. I usually seem to end up in one of the default medium-copy-area methods which doesn't support what I want to do.
14:14:25
slyrus_
and now we have the CLX-fb Backend, and CLXv3, and CLX vs CLX-core. It's all a bit overwhelming.
14:15:03
beach
slyrus_: Graphics operations support a mask that can be a bitmap. Maybe the Bezier stuff can be the mask and you can use a rectangle for drawing.
14:15:37
beach
I really, really think we should define an intermediate layer for graphics operations.
14:21:51
beach
Cloak (which shall receive a different name; its meaning is ugly both in French and in Swedish anyway) is part of my new-ish thinking, whereby we should extract independent libraries so that they can be maintained separately and used by a greater number of people.
14:34:12
jackdaniel
beach: I'll remove CLX-core (the stub started by you - afaik CLXv3 is single-mirror, and CLX-core never worked), OK?
15:09:10
jackdaniel
one way to do that would be composing them in layout in :layouts section I think
15:11:21
jackdaniel
one way to do that would be subclassing button and adding your own compose-space and handle-repaint methods
15:12:30
jackdaniel
I agree with beach that "raw" clim should have orthogonal features instead of having mixin spaghetti
15:13:47
flip214
but please don't forget Naggum's preference for CL over Scheme _because_ it has everything included already, so avoids reinventing by everybody ;)
15:14:58
jackdaniel
regarding having everything included already - I definetely do not appreciate having remove-if and remove-if-not kind "richeness" in Common Lisp :-)
15:16:50
flip214
jackdaniel: x-spacing makes the button bigger, ie. creates whitespace around the text
15:29:41
flip214
hmmm, simply doing (make-pane 'spacing-pane :thickness 10 :child (make-pane 'push-button ...)) doesn't work.
15:31:03
flip214
and (spacing (:thickness 10) (make-button ...)) in :panes just moves it around, hiding parts of the button ;/
16:21:04
slyrus_
so, back to the discussion earlier... if I want to draw a bezier design using the render backend code, what's the best way to get the pixels onto my CLX medium? I believe that the plumbing for this is already there given the way we render truetype fonts, but I'm having a hard time figuring out the right inkovation of the drawing mediums.
16:22:43
beach
I think it is risky to do what you suggested, i.e. starting by transferring from the medium to the render-medium.
16:29:46
jackdaniel
also, regarding rendering things, Alessandro knows something about it for sure given that he wrote CLX-fb backend (it's gas2serra from github), you may ask him if he has some ideas
16:30:32
jackdaniel
btw his refactor of clx-fb works for me (I don't have this asynchronous error you have mentioned in the thread)
16:34:58
jackdaniel
slyrus_: then try commenting (apply #'xlib:default-error-handler display error-name args) in line 71 in Backend/CLX/basic.lisp
16:36:26
jackdaniel
from what I have witnessed it works fine when it doesn't blow on clx errors like that one
16:57:54
slyrus_
the clx-fb doesn't really work on MacOS, but that shouldn't hold things up. commenting out the error just has things hang.
16:59:19
jackdaniel
regarding draw-pattern* you may check out image-viewer example, which shows how to blit image (read with opticl) onto the medium with draw-pattern*