freenode/#clim - IRC Chatlog
Search
4:59:12
loke
I decided to implement rendering of sums, and the only thing I'm doing different for sums is that I'm setting a rather huge font size of the sigma symbol. If I change the sigma to be the "default" font size then the misalignment doesn't happen
4:59:39
loke
Basically, when the the issue happens, the input cursor ends up in the wrong place (above the prompt)
5:03:28
loke
FYI, here's the code that renders the sum operator: https://github.com/lokedhs/clim-test/blob/master/cmdline.lisp#L196
5:04:32
beach
I can hardly see the characters of the code at this point. I am still working on my coffee.
5:23:09
jack_rabbit
What happens if you put a singular, blank string presentation on the stream at the end?
5:27:57
loke
And after resizing the frame by just one pixel or so: https://photos.app.goo.gl/7riBx9CcYjr30Zx62
5:29:05
loke
Basically, ithe code creates a single output record that represents the entire equation. That output record is finally added to the stream here:
5:29:39
loke
What I did was to add just a simple print to the very end, after the WITH-ROOM-FOR-GRAPHICS form
5:30:13
loke
jack_rabbit: Well, after seeing the results of the experiment you suggested, I note that that isn't enough.
5:31:09
jack_rabbit
You could give the records background colors to see if they have bizarre dimensions or something.
5:32:06
jack_rabbit
That could work too. Color is nice, because you can tell which presentation it is.
5:33:10
loke
I put a border around the equation, and exactly what I would expect. It perfectly weraps everything correct ;-)
8:06:59
loke
I can choose arbitrary fints, but I want to choose an italic version of said font. I can't figure out how to do it.
8:47:02
jackdaniel
(make-text-style family face size) ; <- this creates text style based on family/face/size
8:49:13
jackdaniel
when we repaint same sheet numerous times they get "blurred", I haven't pinpoint the exact issue yet
8:50:30
jackdaniel
we lack proper antialiasing (I know that beach doesn't like the idea, but it seems majority of people do)
8:50:55
jackdaniel
and some toher stuff. that said I'm not focusing on these aspects of McCLIM currently
9:20:32
loke
jackdaniel: I'm trying to draw the summation symbol (sigma) with various fonts, and for each and every one I tried except for the default :ROMAN I'm getting this error:
9:20:39
loke
Character #\GREEK_CAPITAL_LETTER_SIGMA not representable in font #<XLIB:FONT fixed :1 96471576>
9:29:38
loke
where <family> and <face> are the objects I got from PORT-ALL-FONT-FAMILIES and FONT-FAMILY-ALL-FACES
9:36:34
jackdaniel
well, I'm not very familiar how to hack around seos when used with print functions
9:44:39
jackdaniel
setting text-style doesn't work for me either. I'd get back to font-selector-demo and examine sources in your place
10:23:55
jack_rabbit
It now uses the cl-gopher protocol library instead of its own local hacked version.
10:29:59
loke
jackdaniel: OK, this is frustrating. Even when using DRAW-TEXT* it doesn't use the style. I'm creating the style using (CLIM-EXTENSIONS:FONT-FACE-TEXT-STYLE <face> <size>)
10:37:07
beach
Oh, I just use the ones that McCLIM already uses: (make-text-style :sans-serif :roman nil)
10:38:06
jackdaniel
alternative is to have me to drop task to unify mirror class hierarchy and check it for you, write sample code and actively wait if it works for you
13:39:34
jackdaniel
you may try to put your cloned repo in quicklisp/local-projects/ (asdf looks recursively there - at least that's what I've been told)
13:44:06
loke
jackdaniel: but where is that system? I grepped every single file in McCLIM and the term mcclim-backend-common is nowhere to be found.
13:44:56
loke
This is a newly installed system, and I can't remember if I need to clone a different repository?
14:37:34
beach
Common Lisp doesn't need callbacks. They are just like functions that you pass as arguments or get stored in objects and that are called by the GUI for instance. In Common Lisp it is more common to call a generic function instead.
14:42:02
beach
Typically in another language, you create a button and you pass a function to the button creator, and that function gets called when the button is pressed.
14:42:29
beach
In Common Lisp, that's nothing special but in languages like C it is actually very complicated because they don't have closures.
14:43:19
beach
In Common Lisp, the button-press code often calls some generic function instead. Client code puts a method on that generic function to handle the push. So the method plays the same role as a callback, but the mechanism is different.