🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.sys.next
Article #3951

Re: Question about Postscript Ops in NeXT Step Windows

#3951
From: Yasushi Kuno
Date: Thu, 30 Apr 1992 02:40
165 lines
7465 bytes
$B5WLn$G$9!#(J

$B;d$N<ALd(J:
>   $B$H$b$"$l(JDPS$B$J$s$@$+$i!"(JView$B%/%i%9$N%5%V%/%i%9$r:n$C$F!"$=$NAk(J
> $B$r%"%W%j%1!<%7%g%s$NCf$KD%$jIU$1$F$*$-!"(JDrawSelf$B%a%=%C%I$NCf$G(J
> PSmoveto$B$H$+(JPSlineto$B$H$+$G3(IA$$$?$iIA$1$k$b$s$H;W$C$F$d$C$F$_$?(J
> $B$N$G$9$,!"2?$K$b=P$J$$$s$G$9!#(JNXEraseRect$B$H$+(JNXFrameRect$B$H$+$O;W$C(J
> $B$?DL$j$KF0$/$s$G$9$1$I!#(J

  $B$K$D$$$F!"$5$C$=$/$N$4;XE&$"$j$,$H$&$4$6$$$^$7$?!#8=:_%K%e!<%9(J
$B$G(J3$B7o!"B>$K%a!<%k$G(J4$B7o$465<($$$?$@$$$F$^$9$,!"$=$N$&$A(J1$B7o$,@52r(J
$B$G!"$V$8F0$/$h$&$K$J$j$^$7$?!#$D$^$j!"(J

  $B!{(J <dpsclient/psops.h> $B$r(Jimport$B$7$F$J$+$C$?(J

$B$N$,860x$G$7$?!#$3$C$A$O(JPSmoveto(100.0, 100.0)$B$H$+=q$$$F$=$l$G$$(J
$B$$$H;W$C$F$$$?$N$G$9$,!"$=$l$@$H(Jdouble$B$,EO$C$F!"8~$&$G$O(Jfloat$B$G(J
$B<u$1$h$&$H$7$^$9$+$i!"@5$7$$CM$,EO$i$J$$$s$G$9$M!<!#$J$s$+!"$=$s(J
$B$J$U!<$J$3$H$@$m$&$H$O;W$C$?$N$G$9!#$*A{$,$;$7$^$7$?!#$G!"0l1~3'(J
$BMM$+$i$$$?$@$$$?$4;XE&$N$^$H$a$r7G:\$7$F$*$-$^$9!#(J

  $B!{(J $B$R$m$N$V$5$s(J:
    /NeXTDeveloper/Example/Draw$B$K3($r=q$/%"%W%j%1!<%7%g%s$NNc$,F~$C$F$$$k(J
   $B$N$G!"$=$A$i$r;29M$K$9$l$P2r7h$N;e8}$,DO$a$k$+$H;W$$$^$9!#(J

     $B"+$b$A$m$s8+$?$N$G$9$,!"(Jimport$B$O$A$c$s$H8+$F$$$J$+$C$?$G$9!#(J
       $B$9$$$^$;$s!#(J

  $B!{(J $B$_$d$?$5$s(J:
    $B%$%s%?!<%U%'!<%9%S%k%@!<$G:n$C$F$$$k$s$G$9$h$M!)(J

      $B"+(JIB$B$N(JTutorial$B$OESCf$^$G$d$j$^$7$?$,!"$G$b$3$l$O(JIB$B$8$c$J$$(J
        $B$G$9!#$@$C$F!"(JIB$B$NA0$K!VMg$G:n$k$H$I$&$+(J?$B!W$rBN83$7$F$_(J
        $B$?$$$8$c$J$$$G$9$+!#(J

    $B%]%9%H%9%/%j%W%H%*%Z%l!<%?!<$N4V0c$$$J$i$P(J...
    $B%l%C%I%V%C%/!J(JPostScript Reference Manual$B!K$O$*;}$A$G$7$g$&$+!)(J

      $B"+(JPS$B$N%^%K%e%"%k$OEvA3CN$C$F$^$9$7!"$4$/4JC1$JNc$G$9$7!"(J
        gs$B$GF0$/$3$H$r3NG'$:$_$G$7$?!#$4Ci9p$I$&$b!#(J

    $B$^$?!"$b$7$+$9$k$H!"0z?t$NEO$7J}$r4V0c$($F$$$k$N$+$b$7$l$^$;$s$M!#(J

      $B"+<B$O$3$l$,(J($B$"$k0UL#$G$O(J)$B1T$+$C$?$G$9$,!"(J

    $B%]%9%H%9%/%j%W%H!v$=$N$b$N!v$G$7$?$i!"%9%?%C%/$K0z?t$r@Q$_$^$9$,!"(J
    Objective-C $B$N(J PS###### $B4X?t$O!"#C$N4X?t$HF1$87A$G0z?t$rEO$7$^$9!#(J

      $B"+$5$9$,$K$=$l$8$c$J$$$G$9!#(JOBJC$B$G%9%?%C%/$K@Q$`$J$s$F$I$&(J
        $B$d$k$N$+$J(J?

    $B$b$7$+$7$F!"I8=`#P#S$G$$$&$H$3$m$N!"(J"showpage" $B$rK:$l$F$$$k$H$+!)!*(J

      $B"+%^%K%e%"!V(JNextStep Concepts$B!W$K$O(Jshowpage$B$OITMW!"$H=q$$(J
        $B$F$"$j$^$7$?$7!"2r7h$7$?:#$b$J$7$GF0$$$F$$$^$9!#(J

    $B$"$H!"(JInterface Builder Excercises $B$r0lEY;n$7$F$_$k;v$b$*>)$a$7$^$9!#(J
    Objective-C $B$N!VJ70O5$!W$bJ,$+$C$F$-$^$9$7!#(J

      $B"+>e$G8@$C$?$h$&$KN>J};n$7$?$o$1$G$9$,!";d$N46A[$G$O:G=i$O(J
        IB$B$J$7$NJ}$,(JOBJC$B$NJ70O5$$,$h$/J,$+$k$h$&$J5$$,$7$^$9!#(J

  $B!{(J  $B?{@8$5$s(J:
    $B;d$N7P83$+$i$9$k$H!"$3$&$$$&>l9g(JPostScript$B%3!<%I$,NI$/$J$+$C$?$H$$$&>l9g$,(J
    $BB?$+$C$?$h$&$G$9!#$?$H$($P(Jsetgray$B$,Gr$K$J$C$F$$$F2?$b8+$($J$+$C$?$H$+!":G(J
    $B8e$N(Jstroke$B$rK:$l$F$$$?$H$+!D0c$C$F$$$?$i$4$a$s$J$5$$!#(J

      $B"+(Jstroke$B$d(Jfill$B$O$A$c$s$H$"$j$^$7$?$,!#$4;XE&$I$&$b!#(J

    $B$3$N$h$&$J%(%i!<$rKI$0$?$a!"$^$:$O(JYAP$B$r;H$C$F@5$7$$(JPostScript$B%3!<%I$r:n$j(J
    $B>e$2!"$=$l$r(Jpswrap$B$G(JC$B$N4X?t$KMn$7$F$7$^$&$N$b0l$D$N<j$G$9!#(J

      $B"+$9$$$^$;$s!"(JYAP$B$C$F2?$G$9$+(J?
        $B$"$H!"(Jpswrap$B$7$?$i>e5-(Jimport$B$NLdBj$O5/$-$J$$$N$@$m$&$+!#(J
        $B$=$l$J$i!"$=$&$9$l$P$h$+$C$?$+$bCN$l$^$;$s$M!#(J

    drawSelf:::$B$N%=!<%9$,$"$l$P!"$b$C$HJ,$+$k$N$@$,!D(J

      $B"+$;$C$+$/$@$7C;$$$+$i:G8e$KIUO?$H$7$F$D$1$H$-$^$9!#(J

$B$"$H$O(Jmail$B$J$N$GMW;]$@$1!#(J

  $B!{(J stroke$B$7$F$J$$$H$+(J? $B$H$$$&$4;XE&$r2<$5$C$?J}!#(J

     $B"+$d$C$Q$jB?$$4V0c$$$J$s$G$7$g$&$+!#;d$N>l9g$O$3$l$8$c$J$+$C(J
       $B$?$G$9!#(J

  $B!{(J $BNcBj$rAw$C$F$/$@$5$C$?J}!#(J

     $B"+$"$j$,$H$4$6$$$^$7$?!#<B$O$=$l$H$[$H$s$IF1$8$3$H$r$d$C$F(J
       $B8+$F$@$a$@$C$?$s$G$9!#(Jimport$B$b4^$a$F$/$l$?$i0lH/$@$C$?$s(J
       $B$G$9$,!#(J

  $B!{(J $B%X%C%@%U%!%$%k$rF~$l$F$$$J$$$N$G$O(J?

     $B"+$^$C$?$/!"$:$P$j@52r$G$7$?!#46<U!"46<U(J!

  $B!{(J PS$B$@$H:G8e$K(Jstroke$B$H$+(Jfill$B$,I,MW$G$9!#(J

     $B"+$O$$!"B8$8$F$*$j$^$7$?!#$4;XE&$"$j$,$H$&$4$6$$$^$7$?!#(J

$B$H$f!<$o$1$G!"$D$^$i$sNcBj$G$9$,!"F0$$$?$7C;$$$N$G$D$1$H$-$^$9$M!#(J
$B$I$&$b?'!9$*A{$,$;$7$^$7$?!#(J

    prototype$B$,$J$+$C$?$iE\$k$h$&$K$9$l$P$h$+$C$?$M(J	    $B5WLn(J

---- main.m ----------------------------------------------------
#import <appkit/appkit.h>
#import "TestView.h"

main() {
    id myWin, myPanel, myMenu, myView;
    NXRect aRect;
    [Application new];
    NXSetRect(&aRect, 100.0, 350.0, 300.0, 300.0);
    myWin = [Window newContent: &aRect
                 style: NX_TITLEDSTYLE
                 backing: NX_BUFFERED
                 buttonMask: NX_MINIATURIZEBUTTONMASK
                 defer: NO];
    [myWin setTitle: "A Test"];
    NXSetRect(&aRect, 0.0, 0.0, 300.0, 300.0);
    myView = [TestView newFrame: &aRect];
    [[myWin contentView] addSubview: myView];
    NXSetRect(&aRect, 100.0, 700.0, 300.0, 40.0);
    myPanel = [Panel newContent: &aRect
                   style: NX_TITLEDSTYLE
                   backing: NX_BUFFERED
                   buttonMask: NX_CLOSEBUTTONMASK
                   defer: YES];
    [myPanel setTitle: "About A Test"];
    [myPanel removeFromEventMask: (NX_KEYDOWNMASK|NX_KEYUPMASK)];
    myMenu = [Menu newTitle: "A Test"];
    [[myMenu addItem: "Info..."
          action: @selector(orderFront:)
          keyEquivalent: 'i'] setTarget: myPanel];
    [myMenu addItem: "Hide" action: @selector(hide:) keyEquivalent: 'h'];
    [myMenu addItem: "Quit" action: @selector(terminate:) keyEquivalent: 'q'];
    [myMenu sizeToFit];
    [NXApp setMainMenu: myMenu];
    [myWin display];
    [myWin orderFront: nil];
    [myWin makeKeyWindow];
    [NXApp run];
    [NXApp free];
}
---- TestView.h ----------------------------------------------------
#import <appkit/View.h>

@interface TestView : View {
}
@end
---- TestView.m ----------------------------------------------------
#import "TestView.h"
#import <dpsclient/psops.h>

@implementation TestView 
- drawSelf: (const NXRect*)rects :(int)rectCount {
      PSnewpath(); PSsetlinewidth(1.0); PSsetgray(NX_BLACK);
      PSmoveto(100.0, 100.0);
      PSrlineto(0.0, 100.0); PSrlineto(100.0, 0.0); PSrlineto(0.0, -100.0);
      PSclosepath(); PSstroke();
}
@end
------------------------------------------------------------------
Technical Details
Message-ID: <1992Apr30.024000.18636@gssm.otsuka.tsukuba.ac.jp>
Path: arc1-ca.pugleaf.net!sparky!uunet!ccut!s.u-tokyo!riksun!rknss1!rkna50!nttlab!utogw!kuno
References: <1992Apr27.014814.11816@gssm.otsuka.tsukuba.ac.jp> <1992Apr28.044755.28497@gssm.otsuka.tsukuba.ac.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 115a95,1b4322cd2bd0cc36
X-Google-Attributes: gid115a95,public
X-Google-ArrivalTime: 1992-04-29 19:40:00 PST
Path: arc1-ca.pugleaf.net!sparky!uunet!ccut!s.u-tokyo!riksun!rknss1!rkna50!nttlab!utogw!kuno
From: kuno@gssm.otsuka.tsukuba.ac.jp (Yasushi Kuno)
Newsgroups: fj.sys.next
Subject: Re: Question about Postscript Ops in NeXT Step Windows
Message-ID: <1992Apr30.024000.18636@gssm.otsuka.tsukuba.ac.jp>
Date: 30 Apr 92 02:40:00 GMT
References: <1992Apr27.014814.11816@gssm.otsuka.tsukuba.ac.jp> <1992Apr28.044755.28497@gssm.otsuka.tsukuba.ac.jp>
Sender: news@gssm.otsuka.tsukuba.ac.jp
Distribution: fj
Organization: GSSM Otsuka, Univ. of TSUKUBA, Tokyo, Japan
Lines: 165