I've decided to try to fix a problem myself that I'm having printing from QuickBooks (partial page checks need to be landscape). I've downloaded the source, updated it via CVS, and now I'm trying to figure out where the problem is. I know where the problem is at the moment: ME! :-) That is, I could use some pointers on where to look...
I have no knowledge of the Win API, and I can't say that I'm a strong C programmer (although I've played with it for a while a few years ago). However, being a consultant for over 15 years, I've jumped into more difficult situations and got results in a reasonable period of time. With a few helpful pointers, I don't think this should be any different. :-)
I've looked around MSDN for a while, searching for printing API info with no luck (perhaps it's a lack of patients, perhaps its a poor search enging on top of a huge mass of information). I've looked at the Wine source, have successfully watched my program trace through wineps.c (et al), and even made a slight mod to it to make sure that I would know that I was running modified code (which worked).
I've also looked around winehq and codeweavers, in the wine developer's sections...
Here's where my head's at: It seems to me that I'm "too low" looking at wineps.c, but I can't figure out where else to look. Using the cross reference on winehq, and looking at the "where used" for wineps.c, the trail "goes cold" after a level or two (still "too low"). I know the app is making the proper calls to the Win Printing API to set landscape mode when needed since the program works fine on an NT box. I just don't know WHAT gets called to do this! If I started there, I could trace down to whatever levels I need to to figure out what is currently going on, so I can figure out what needs to be changed...
So here are my questions:
- What APIs are called by programs to talk to the printing subsystem? Is there a MS URL that gives an overview of this API?
- What --debugmsg options can I use to trace programs through these API calls? (+psdrv works for the routines in wineps/*.c; +gdi [am I on the right track?] seems to give a whole bunch of traces, none of which [well, maybe a few] seem relavent.)
- What calls the PSDRV_ functions? What's the --debugmsg option for it?
- Is anyone willing to Mentor me?? (VERY big grin; flash the long eyelashes; etc.)
I'd love to get this to work, and I'd be more than happy to supply the patch once it is working. I'm also be willing to continue working on the printing in wine, and perhaps fix other bugs that I run across. But in order for this to become reality, I sure could use some help up the learning curve!!
Humble thanks,
Carl