X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fdocuments.git;a=blobdiff_plain;f=irc%2F%23ipdf.log;h=45b1eae866bc4a8c2c4870ddefde0f1ae0488c04;hp=e56f87f043ac0b519b27bdcfbe89414686bddcb0;hb=8c09e7dd80d75c4972f2f9fc27df1a01ee7229e8;hpb=7ed54f60ff8deda1be01d51426d46ba53765b743 diff --git a/irc/#ipdf.log b/irc/#ipdf.log index e56f87f..45b1eae 100644 --- a/irc/#ipdf.log +++ b/irc/#ipdf.log @@ -3133,3 +3133,145 @@ 18:31 < matches> It sort of spoils the "HTML5 is AWESOME" message the HTML5 people are aiming for 18:31 < matches> The best bit of html5 is and that you no longer need to use html because you can just draw everything in the canvas... 18:32 < matches> Which is scarily similar to using PostScript +--- Day changed Mon Jul 28 2014 +10:05 < matches> In 2.07 now +10:07 < matches> You removed SDL from contrib +10:07 < matches> So now it won't compile on the lab machines +10:07 * matches gets out the laptop then +--- Day changed Tue Jul 29 2014 +09:59 < matches> I seem to have this bizarre illness +10:00 < matches> Where half my head feels fine +10:00 < matches> And the other half feels like I've been trying to read brainfuck +10:00 < matches> I hope you don't catch it +10:00 < matches> The side that is sick is the side that was closest to the group hug +10:00 < matches> Coincidence!? +10:00 < matches> I think not! +10:08 < matches> You know how there's this theory about the two halves of the brain being semi independent and sort of subconsciously able to think by themselves +10:08 < matches> I think the left side of my brain is dead +10:08 < matches> It's not responding to pings +10:09 < matches> I think the project working side might be the alive one though, so we shall see if I can actually do something useful +--- Log closed Tue Jul 29 23:13:08 2014 +--- Log opened Wed Jul 30 12:03:38 2014 +12:03 -!- matches [matches@motsugo.ucc.gu.uwa.edu.au] has joined #ipdf +12:03 -!- Irssi: #ipdf: Total of 2 nicks [1 ops, 0 halfops, 0 voices, 1 normal] +12:03 -!- Irssi: Join to #ipdf was synced in 0 secs +16:28 -!- sulix [sulix@motsugo.ucc.gu.uwa.edu.au] has quit [Ping timeout: 121 seconds] +17:25 -!- sulix [sulix@motsugo.ucc.gu.uwa.edu.au] has joined #ipdf +--- Day changed Sun Aug 03 2014 +12:43 < matches> So I found my moronic mistake with the virtual FPU and it seems to actually work +12:44 < matches> I think it's even slower than using Rational +12:44 < matches> Unless everything's slow because of the QT now +12:45 < matches> There's an awful lot of "Rendering QT node" debug +12:46 < matches> No its the VFPU that makes sense +12:47 < matches> Since every floating point operation now requires writing 18 hex characters over a unix domain socket +12:47 < matches> Hooray VHDL +12:48 < matches> (I'm sure if you have $$$$ and like Enterprise(TM) software VHDL is great) +12:48 < matches> I'll just do some miscellaneous things and hopefully some of them will be useful +12:48 < matches> Bye +14:14 < matches> So with the VFPU and doing everything on the GPU we have 2.2 FPS +14:14 < matches> It seems to be able to cope with rectangles on the CPU +14:15 < matches> The circle may present some difficulties +14:16 < matches> It would be have been pretty cool to change the vfpu and see if anything makes it look like intel +14:16 < matches> But ultimately useless I suppose +14:37 < sulix> There might be some info in the hardware docs, though they're pretty incomprehensible: https://01.org/linuxgraphics/documentation/2013-intel-core-processor-family +14:38 < sulix> AMD also have manuals: http://developer.amd.com/resources/documentation-articles/developer-guides-manuals/ +14:38 < sulix> nVidia are sworn to secrecy. +--- Day changed Tue Aug 05 2014 +12:38 < matches> I'm looking at the atril source +12:38 < matches> To see if I can compile it without the oppressive 400% max zoom +12:39 < matches> It is rather intense +12:39 < matches> I think the zooms are set depending on the language? +12:41 < matches> There are po files which are definitely not position independent object files +12:43 < matches> #define ZOOM_MAXIMAL(zoom_levels[n_zoom_levels - 1].level) +12:43 < matches> The plot thickens! +12:45 < matches> Heh this is actually sort of making sense +12:45 < matches> They have a "cut-n-paste/zoom-control" directory +12:48 < matches> I'm confused as to how the maximum zoom is 6400% and yet my version will only zoom to 400% +12:48 < matches> But I guess I shall compile it from source and see what actually happens +12:51 < matches> They also have a script to configure their configure script... +12:51 < matches> Oh dear xml is involved +12:53 < matches> There needs to be a way to save the status of configure so you don't have to rerun it from scratch every time you fix an error +12:56 < matches> Our document viewer may only be able to render beziers and circles +12:56 < matches> But at least it doesn't have any dependencies! +12:56 < matches> Well many +12:56 < matches> I suppose since SDL is in contrib we should put GMP in contrib too +12:57 < matches> But yes, I don't care about caja plugins dammit I want to zoom on a pdf +13:00 < matches> "Warning: Comparison between pointer and integer" +13:00 < matches> Aaaah +13:00 < matches> It compiles... +13:01 < matches> But where did it put the binary... +13:02 < matches> Oh great it expects things to be in /usr +13:03 < matches> I guess I will run "install-sh" and hope I will still have a usable pdf viewer +13:07 < matches> There's a LOT of G_ and g_ variables +13:07 < matches> Actually functions +13:07 < matches> I think g_ does not mean global in this context +13:07 < matches> Maybe +13:11 < matches> So it's not just a matter of ZOOM_MAXIMAL being redefined to ridiculously huge numbers having any effect +13:11 < matches> I guess they use some other library that has zooming +13:13 < matches> It somehow detects what the maximum zoom should be based on the document as well +13:13 < matches> This is just over engineering! +13:19 < matches> ev_view_can_zoom_in (EvView *view) +13:19 < matches> return view->scale * ZOOM_IN_FACTOR <= ev_document_model_get_max_scale (view->model); +13:19 < matches> Let +13:19 * matches casually makes it return true +13:19 < matches> Also wtf +13:19 < matches> They have a "gboolean" type +13:19 < matches> Is "bool" inferior? +13:19 < matches> What more do you need than true and false +13:20 < matches> Is bool used as a variable name for something +13:20 < matches> sigh +13:24 < matches> No ok it still won't let me zoom in more +13:25 < matches> g_return_if_fail in the zoom functions +13:25 < matches> They don't look important +13:28 < matches> There are a surprising amount of places with a "if zoom or scale is bigger than the maximum, return" +13:28 < matches> Like, are three checks really necessary +13:29 < matches> I think you can set model->sizing_mode to "EV_SIZING_FREE" but I have no idea what that will do +13:29 < matches> So I'll just continue commenting out anything that looks like it will return early from the zoom process... +13:30 < sulix> Sounds like a plan! +13:31 < matches> The use of g_ for function names makes me want to stab someone :P +13:31 < matches> I assume it's related to gtk or maybe just gnome +13:32 < matches> Also about half their doubles are "gdouble" +13:32 < matches> And the other half are "double" +13:32 < matches> :S +13:32 < sulix> gtk had their own crazy, let's implement everything from scratch idea. +13:32 < sulix> They have their own "classes" in C, IIRC. +13:32 < matches> It's pretty object orientated yes +13:34 < matches> Ok I seem to now be able to zoom in a *bit* more and then it just stops drawing things +13:35 < matches> No wait it's just hopelessly slow +13:37 < matches> It also zooms in on the wrong spot and then draws it and then moves the view back to the mouse and draws again +13:38 < matches> But yes, it doesn't cope well with zooming at all +13:38 < matches> I was kind of hoping it would work +13:39 < matches> Maybe if I use a simpler document +13:43 < matches> Congratulations anyway +13:43 < matches> We can zoom further on a circle than atril can +13:44 < matches> Unfortunately the reasons atril can't zoom are probably not related to precision +13:44 < matches> Maybe I need to find some "if zoom > thing don't draw anything" and comment those out too +13:44 < matches> Sigh +14:07 < matches> It is resistant to my valgrind attempts +14:07 < matches> It seems to have spawned 9 processes +14:10 < matches> Oh "atril" is actually a series of hideous bash scripts that load libraries or something +14:12 < matches> You know +14:12 < matches> I'm sure if we tried +14:12 < matches> We could make a less shitty pdf viewer out of our program +14:29 < matches> Interesting +14:30 < matches> "ev_document_render" got called 10.6 Billion times +14:30 < matches> I don't think I changed the view that many times... +14:32 < matches> Ok, so just working on our own viewer is probably better at this point than working out why atril has a heart attack if you zoom +14:33 < matches> I'm going to pretend this wasn't a waste of time... +14:41 < matches> "existing pdf viewers cap the view because otherwise they break due to bugs that aren't actually related to precision" +15:43 < matches> So I suspect the GPU Bezier rendering is buggy +15:44 < matches> Or maybe it's a quad tree thing +15:45 < matches> Or both... +15:46 < matches> I'm pretty sure the appearance of an individual bezier should not depend on what other beziers are in the document :P +15:47 < matches> Yeah there's wierd quad tree shit going on +15:48 < matches> I'm going to try and add some sort of glyph/font like thing +15:49 < matches> It's either that or create hand drawn beziers in the current view +15:50 < matches> But I feel it desperately needs an example of being able to actually zoom in and create something at an "arbitrary" level +18:54 < matches> So we sort of have a very broken, very badly written, SVG parser +18:55 < matches> A bunch of bugs showed up in the bezier rendering +18:56 < matches> Although it might just be fglrx +22:23 < sulix> The GL code is now consistantly broken, rather than sporadically broken. +22:24 < sulix> Trying to render SVGs with it might count as modern art, though. +22:39 < sulix> Man, the buggier the bézier code gets, the more beautiful its output. +22:53 < sulix> Voilà: http://davidgow.net/stuff/ipdf-koch-svg.png +23:11 < sulix> And on the CPU: http://davidgow.net/stuff/ipdf-koch-svg1.png