336 lines
15 KiB
Plaintext
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!
|