textfiles/apple/ADC/adv.900911

336 lines
15 KiB
Plaintext

America Online
APPLE II DEVELOPMENT FORUM CONFERENCE LOG
Tuesday, September 11, 1990 10:00 p.m. Eastern Time
Topic: Apple IIGS Toolbox Programming
Forum Leader: Dave Sugar (AFL Dyfet)
AFL Dyfet Okay, I have a couple of announcements before we begin:
AFL Dyfet First, neither Matt Deathrage or Dave Lyons will be able to attend
tonight.
AFL Dyfet Dave is on vacation somewhere without a computer (*gasp*) and Matt
has a
AFL Dyfet special appointment. Matt may be able to attend later though...
AFL Dyfet Also, we will be holding the second monthly meeting of the
Advanced Basic SIG
AFL Dyfet this Thursday at 11pm, in this very room.
AFL Dyfet Now we are ready to begin. Good evening and welcome to the Apple
II
AFL Dyfet Development Forum conference. Tonight our topic is the IIgs
toolsets. We will
AFL Dyfet not be using protocol unless it proves nessisary. The floor is
now open for
AFL Dyfet utter chaos :)
JusLooking Is there any way to have TextEdit show special characters?
AFL Dyfet It depends what's available in the font your using,
JusLooking...
JusLooking ...assume shaston
HeadCase You can always use the option and apple chars, but control keys
are filtered by TE.
JusLooking .so would you have to write a filter proc to handle them?
HeadCase You can use TEInsert can handle control keys I think...looking
JusLooking Can you insert page breaks into the TE record and show the break
on screen
JusLooking ?
HeadCase HA HA HA
JusLooking Should i assume from that response that TE can only be used to
make a elementry
JusLooking wordprocessor
JusLooking ?
AFA Gary J My understanding is that the intent of TE is not to provide a
"wordprocessor",
AFA Gary J but a convenient way of editing multiple lines of text.
AFL Dyfet TE is exactly what it sounds, text editing...You can do a
reasonable editor
AFL Dyfet using it, as demonstrated in Complete Pascal, but that is
stretching it there:)
HeadCase You can use TEInsert to insert control chars, but why would you
want to?
CodeMaster isn't there a file size limitation when using TE?
HeadCase TE is documented to be able to handle 30,000 chars
CodeMaster right, I thought it was about 32K
JusLooking Has Apple announced any updates to the toolbox, GS/OS, or system
disk since 502
AFL Dyfet Just a minor update for use with the DMA SCSI card, Jus...
DAERON1 IS THERE A TOOL THAT WILL LET ME PLOT EACH PIXEL IN THE SUPER
HIGHRESS SCREEN
CodeMaster you mean to see where each pixel is at in a window? as in to plot
them?
CodeMaster I mean plot to an output device.
CodeMaster or plot them on the screen?
AFA Gary J Yes, please clarify your question.
JusLooking moveto(y,x); line(y,x,y,x)...or something like that.
DAERON1 NO IF I HAVE DATA TO COLOR EACH PIXEL OF THE SCREEN
AFL Dyfet You mean like a paint bit map?
DAERON1 YES
CodeMaster do you men to define what each pixels color on the screen ?
CodeMaster opps, men = mean
WTSBrian Hi everyone
AFL Dyfet So you wish to take a picture from a paint program and use
quickdraw to draw
AFL Dyfet part or all of it in a window?
CodeMaster are you asking this for a window area or the raw screen?
CodeMaster or are you trying to create a pixel paint program?
HeadCase Is this like a bitmaped character you wish to put on the screen?
DAERON1 YES I HAVE A PROGRAM TO MAKE FRACTAL PICTURES BUT CANN'T GET TO
SUPER HI
CodeMaster how big is the file?
CodeMaster scratch that!
CodeMaster it doesn't make any difference the size.
CodeMaster the first real question is...
CodeMaster do you wish the image in a window or on the full screen?
CodeMaster multiple choice:
DAERON1 FULL SCREEN
CodeMaster then is the file bigger then 32766?
CodeMaster that is the file size of a full screnn image.
DAERON1 I HAVE EACH ROW SAVEED AS A FILE
CodeMaster if it is bigger, ( I think ) you would need to use a window...
CodeMaster so the user can scroll around to see the whole image.
DAERON1 OK
AFL Dyfet If you simply wish to reload the image to a screen, you can bypass
the tools
AFL Dyfet and directly load the image into screen memory....
CodeMaster right, or store it in a buffer and then move to the screen!
AFL Dyfet Well, if you have a DMA SCSI card you may wish to load it direct
:)...
CodeMaster well, true!
DAERON1 OK THAT WOULD BE A DIFFERENT CONF.
CodeMaster have your seen the Star Wars SCCI demo?
AFL Dyfet I have heard about it...
DAERON1 NO
AFL Dyfet Haven;t seen it...
CodeMaster I saw it at KC...
CodeMaster they had about 2 minutes of the Empire Strikes Back...
CodeMaster footage dizitized to a Hard drive...
CodeMaster and was using the new card to play back the film...
CodeMaster in real time!
CodeMaster ofcourse it was in gray scale, But It was GREAT to see!
AFA Gary J Actually, I think it was supposed to be FASTER than real time.
HeadCase Correction faster than real time 36 frames/sec
AFA Gary J Yes. (Movies are 24 frames per second)
AFL Dyfet Okay, do we have any toolbox questions out there for tonight??
WinkieJim I saw it, it was a little faster that real time...
CodeMaster OK, better then real time! :)
WinkieJim <---raising hand! :)
CodeMaster it was great non the less!
AFL Dyfet Go ahead Winkie!
WinkieJim Ok, I'm attempting to place menus in the info bar of a NDA.
CodeMaster ooo ! :)
WinkieJim problem one: I can't get them to select or pull down or anything
HeadCase Are you using taskmasterDA?
WinkieJim Yes.
AFL Dyfet Pulldowns in a window status bar? Shades of 'MS Windows' :)
CodeMaster CJ did it in WriteIt!
HeadCase You want menus like Write-it right?
WinkieJim Yes.
WinkieJim Well, so far the demo source has been in pascal and I program in
ASM...
CodeMaster does any one know if CJ is on AOL?
AFL Dyfet Hmm...
WinkieJim I get them to display in the info bar, and I get a 'in info bar'
from
WinkieJim taskmasterDA, but a call to MenuSelect doesn't seem to do the
job.
WinkieJim (pluw I think TaskmasterDA should handle this already, if I'm not
mistaken.'
WinkieJim <---stumped them all :)
CodeMaster yeep :(\
CodeMaster you could always ask CK Kahn how he did it.
AFA Gary J C.K. Haun
CodeMaster I thought that was it, but it didn't look right when I typed it!
:)
HeadCase He's gone home
AFA Gary J :)
CodeMaster then drop him a little note.
CodeMaster <---- Question
CodeMaster ( After Jim, though )
WinkieJim well aparently I'm done :)
AFL Dyfet I think we're still stumped by Jim :)
AFL Dyfet GA CM
CodeMaster thanks...
CodeMaster I have code that will let me use 16 colors in 640 mode...
CodeMaster but I want to transfer that info the Color Pattle...
CodeMaster Any ideas.
CodeMaster Well, the book says only 4 colors in 640, but I thought
different!
AFL Dyfet You mean with dithering?
CodeMaster right
CodeMaster I would rather use the Pallette then _SetPenPattern
HeadCase What about setcolortable?
CodeMaster _SetColortable
CodeMaster pass...
CodeMaster tableNumber - WORD
HeadCase Is this when you are drawing? and you want to change the pen
color?
CodeMaster scrTablePtr - LONG
CodeMaster right, I still can't get the text to use 16 colors.
CodeMaster I know that there is 16 color table, but I really...
CodeMaster don't know how they work! :(
HeadCase You must set the colors to values like $11-$FF incrementing by
$11.
CodeMaster but can you use Dithering in the pallette?
AFL Dyfet You can't really get 16 color text because you need to use 2
pixels in
AFL Dyfet dithering....
AFL Dyfet At best 40, or maybe 55 column text :)
CodeMaster right, thats what I thought...
CodeMaster I'll be happy with the 4 colors of text...
CodeMaster but I would rather use the palette.
AFL Dyfet Well, if you only use 4 colors per line of text, you can shift
pallettes around
AFL Dyfet for different lines of text.
CodeMaster you mean set each scan line to a new palette?
AFL Dyfet Yes...
AFL Dyfet Well, each 8 scan lines (assuming 8 pixel font)
CodeMaster right.
HeadCase I can use setforecolor to change to any of the 16 640 mode colors
then use drawstring to drow it
HeadCase in the correct color, is this what you wanted to do?
CodeMaster but there are only 4 defalut colors in 640, right?
HeadCase Yes, but with dithering there are 16.
CodeMaster but _SetForeColor wnats a color number...
HeadCase Look at finders color menu. Those are the 16 standard colors in
640. I don't know hoe it works...
CodeMaster I thought if I didn't change the palette, I would only get the 4
HeadCase Give setforecolor a value of 0-$FF incrementing by $11 and those
are the valid values for the default
CodeMaster give a value of 0 to 15 * 17?
CodeMaster sorry, I'm not doning this in Asm.
HeadCase Yeah I guess...
CodeMaster Lets ask Mat! He knows EVERYTHING!
CodeMaster :)
Matt DTS What's the problem?
AFA Gary J :)
Matt DTS (other than spelling)
CodeMaster I know he wounldn't resist! :)
CodeMaster right! :)
HeadCase Say you want darkblue text. Call SetForeColor with 1. Then use
drawstring with the pointer
CodeMaster Matt: I'm trying to set the palette in 640 with 16 colors.
Matt DTS "Set the palette" doesn't mean anything. What are you trying to
accomplish?
CodeMaster ok,
CodeMaster I have a routine that will let me draw object in 16 colors...
CodeMaster useing _SetPenPattern...
CodeMaster I give the call a dither table.
CodeMaster very easy, works fine...
CodeMaster but I would rather use a palette to do the same job.
Matt DTS Define "palette"
CodeMaster the color table were the default colrs are stored.
CodeMaster I thought that was known as the Color Palette.
HeadCase Color table
Matt DTS I still don't understand why messing with the color tables is more
desirable than what you're doing.
CodeMaster BTW Matt, thanks for the help in KC!
CodeMaster I just htought if I could setr the palette, it would be..
CodeMaster faster to specify colors to use then to..
CodeMaster keep going to the _SetPenPattern
CodeMaster Am I wrong?
MikeNuzz Code, you "set the Palette" by using the _SetColorTable call
Matt DTS Probably. I think the way you're doing it is probably fine.
CodeMaster Sure, it works, but it just adds time to the program loop to
keep...
CodeMaster making that call. No big deal really...
CodeMaster but! :)
CodeMaster I just thought that there might be a better way to do it.
MikeNuzz If you want to use 16 colors in 640 you MUST use Dithering
Matt DTS If you have a nice dither table and it works, you've probably got
the problem licked.
Matt DTS Give yourself credit.
MikeNuzz Using a color number just won't work
CodeMaster <-- Credit
CodeMaster One last question, ok?
Matt DTS I think other people are waiting, so hurry.
CodeMaster ( then I promise to shut up! )
CodeMaster Q: is there a way to know when the user has chosen a NDA from the
Apple menu?
Matt DTS TaskMaster returns wInSpecial when the user's picked an NDA, I
believe.
CodeMaster The TaskMaster does not return that event to the application.
CodeMaster oh,
CodeMaster thanks, Matt, I'll try that.
CodeMaster finished!
CodeMaster thank you gentalmen!
Surak TFF I have a question about reading from and outputting to LineEdit
controls in a
Surak TFF movable NDA (system) window.
Surak TFF The problem is, I can't get it to work - I want to get a number
from one LE
Surak TFF control, and output a base-converted number to the other.
Surak TFF I have problems reading the string from the control, because I
know my base
Surak TFF conversion routines work on their own...
Surak TFF And output has just been a total failure.
Matt DTS How are you reading the string from the control?
Surak TFF Well, I got the handle to the LineEdit record in the CtlData field
of the
Surak TFF extended control..
Surak TFF And then tried to read the string from the LineEdit record.
Surak TFF I took the leTextHndl (sp) from the LineEdit record and used that
to get to
Surak TFF the text.
Matt DTS With something like textHand := LEGetTextHand(GetCtlTitle); ?
Surak TFF At first I tried LEGetTextHand, and that didn't work too well
either.
Surak TFF (And, even if I can get the input to work, output is the bigger
problem :)
Matt DTS (GetCtlTitle returns the ctlData field of the control record,
btw.)
Matt DTS It should work just fine. You pass what's in the ctlData field to
an LE routine and it returns the
Matt DTS text. There's a routine to do this in DTS Sample Code's
FakeModalDialog; you can look at it if you
Matt DTS think it would help.
Surak TFF OK... But the problem is putting the output in another LineEdit
box...
Surak TFF Or, even IN the desk accessory window - when I used QuickDraw's
SetPort call
Surak TFF (the text was being drawn outside the window before, and the
Local/Global coord
Surak TFF conversion routines didn't seem to be working), it dumped into the
monitor when
Surak TFF I ran that routine.
Matt DTS Perhaps you should post some of the troublesome source here for
others to look at.
Matt DTS Dave Lyons did this in a prototype NDA shell and it works fine, so
it's probably not a toolbox bug.
Surak TFF Well, if you could just tell me the right method of putting the
text back out..
Matt DTS It sounds like you're doing the right thing, but something small
is probably tripping you up.
Surak TFF Then I could probably get it to work.
Matt DTS To get the text, call LEGetText with the leHandle from the ctlData
field.
Matt DTS To set the text, pass the text pointer, length and leHandle to
LESetText.
Surak TFF LEGetText?
Matt DTS Make sure the environment is set for drawing (e.g., StartDrawing
if not in an update routine) since
Matt DTS LineEdit will draw immediately instead of invalidating parts of
the window.
Matt DTS (LEGetTextHand, whatever)
MikeNuzz Don't you have to redraw the control to show the new text
Matt DTS No - LineEdit draws immediately
Matt DTS (otherwise you'd have to redraw on every key to see the results)
Surak TFF Well, do I have to erase the thing in the box currently first, or
will LE
Surak TFF take care of doing that? (what if what's in there before is longer
than what
Matt DTS define "thing"
Surak TFF I am putting in now, is what I'm saying)...
Surak TFF The text in the box (previous output).
Matt DTS LineEdit takes care of that.
Surak TFF OK... That makes it a whole lot simpler... What type of strings do
I pass to
Surak TFF LE?
Surak TFF I know I can't use Pascal Strings. (BIG warning in the Toolbox
ref..)
Matt DTS You just pass text, and the length as a separate parameter.
Matt DTS "types" of strings are just different ways of marking the size.
LE takes the size as a parameter.
Surak TFF OK.. I will try that, and if all goes well my NDA will be up on
America Online
Surak TFF soon :)
Surak TFF So I can use the Pascal String, without the length byte.
Matt DTS Without the length byte.
Surak TFF OK... Thanks a lot for your help!