Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages | Examples

SimpleEPlotWriter/SimpleEPlotWriter.cpp

ÿþ/ /   S i m p l e E n u m R e a d e r . c p p   :   D e f i n e s   t h e   e n t r y   p o i n t   f o r   t h e   c o n s o l e   a p p l i c a t i o n . 
 / / 
 
 # i n c l u d e   " s t d a f x . h " 
 
 u s i n g   n a m e s p a c e   s t d ; 
 u s i n g   n a m e s p a c e   D W F C o r e ; 
 u s i n g   n a m e s p a c e   D W F T o o l k i t ; 
 
 
 i n t   m a i n ( i n t   a r g c ,   c h a r *   a r g v [ ] ) 
 { 
 
         i f   ( a r g c   <   2 ) 
         { 
                 w c o u t   < <   L " U s a g e : "   < <   a r g v [ 0 ]   < <   L "   f i l e . d w f "   < <   e n d l ; 
                 r e t u r n   (   0   ) ; 
         } 
 
         t r y 
         { 
                 / / 
                 / /   c r e a t e   a   s i m p l e   p a g e   ( e p l o t ) 
                 / / 
 
                 / / 
                 / /   w h e r e   d i d   t h i s   d w f   p a g e   o r i g i n a t e ? 
                 / / 
                 D W F S o u r c e   o S o u r c e (   L " S i m p l e E P l o t W r i t e r . c p p " ,   " D W F T o o l k i t   S a m p l e s " ,   L " "   ) ; 
 
                 / / 
                 / /   w e   w i l l   b e   a d d i n g   a   g r a p h i c   r e s o u r c e   t o   t h i s   p a g e   ( n a m e l y   t h e   W 2 D ) 
                 / /   t h i s   d i c t a t e s   t h a t   w e   d e f i n e   p a p e r   f o r   t h i s   s e c t i o n 
                 / / 
                 d o u b l e   a n P a p e r C l i p [ 4 ]   =   {   0 ,   0 ,   1 1 ,   8 . 5   } ; 
                 D W F P a p e r   o P a p e r (   1 1 ,   8 . 5 ,   D W F P a p e r : : e I n c h e s ,   0 x 0 0 f f f f f f ,   ( c o n s t   d o u b l e * ) a n P a p e r C l i p   ) ; 
 
                 D W F E P l o t S e c t i o n *   p P a g e   =   D W F C O R E _ A L L O C _ O B J E C T (   D W F E P l o t S e c t i o n ( L " P a g e   T i t l e " ,   L " 1 2 3 " ,   1 ,   o S o u r c e ,   0 x 0 0 f f 0 0 f f ,   & o P a p e r )   ) ; 
 
                 / / 
                 / /   a d d   s o m e   p a g e   p r o p e r t i e s 
                 / / 
 
                 / / 
                 / /   ( 1 ) 
                 / / 
                 p P a g e - > a d d P r o p e r t y (   D W F C O R E _ A L L O C _ O B J E C T ( D W F P r o p e r t y ( L " c r e a t o r " ,   L " S i m p l e E P l o t W r i t e r . c p p " ,   L " " ,   L " " ,   L " " ) ) ,   t r u e   ) ; 
 
                 / / 
                 / /   ( 2 ) 
                 / / 
 / /                 D W F P r o p e r t y   o P r o p e r t y (   L " f i l e   v e r s i o n " ,   L " 1 " ,   L " S o u r c e   C o d e " ,   L " " ,   L " "   ) ; 
                 / / p P a g e - > a d d P r o p e r t y (   & o P r o p e r t y ,   f a l s e   ) ; 
 
                 / / o P r o p e r t y . s e t N a m e (   L " b i n a r y "   ) ; 
                 / / o P r o p e r t y . s e t V a l u e (   L " d e b u g   e x e c u t a b l e "   ) ; 
                 / / p P a g e - > a d d P r o p e r t y (   & o P r o p e r t y ,   f a l s e   ) ; 
 
                 D W F P r o p e r t y   o P r o p e r t y 1 (   L " D0O0‰0g0Y0K0ÿ" ,   L " U0“0\0“0†Q" ,   L " S o u r c e   C o d e " ,   L " " ,   L " "   ) ; 
                 D W F P r o p e r t y   o P r o p e r t y 2 (   L " D0O0‰0g0Y0K0ÿ" ,   L " U0“0\0“0†Q" ,   L " ×0í0×0ë0Á0º0" ,   L " " ,   L " "   ) ; 
                 D W F P r o p e r t y   o P r o p e r t y 3 (   L " F O O " ,   L " U0“0\0“0†Q" ,   L " F O O C A T " ,   L " " ,   L " "   ) ; 
                 
                 p P a g e - > a d d P r o p e r t y (   & o P r o p e r t y 1 ,   f a l s e   ) ; 
                 p P a g e - > a d d P r o p e r t y (   & o P r o p e r t y 2 ,   f a l s e   ) ; 
                 p P a g e - > a d d P r o p e r t y (   & o P r o p e r t y 3 ,   f a l s e   ) ; 
 
                 p P a g e - > a d d P r o p e r t y (   D W F C O R E _ A L L O C _ O B J E C T ( D W F P r o p e r t y ( L " S o m e   g u y s " ,   L " D u n   &   B r o a d s t r e e t " ,   L " " ,   L " " ,   L " " ) ) ,   t r u e   ) ; 
                 p P a g e - > a d d P r o p e r t y (   D W F C O R E _ A L L O C _ O B J E C T ( D W F P r o p e r t y ( L " S o m e   u n i t s " ,   L " 3 ' " ,   L " " ,   L " " ,   L " " ) ) ,   t r u e   ) ; 
 
 / /                                 o P r o p e r t y . s e t N a m e (   L " V e n d o r "   ) ; 
     / /                             o P r o p e r t y . s e t V a l u e (   L " D u n   &   B r o a d s t r e e t "   ) ; 
         / /                         p P a g e - > a d d P r o p e r t y (   o P r o p e r t y   ) ; 
 
                 / / 
                 / /   f o r   t h i s   e x a m p l e ,   l e t ' s   a d d   a   p r e - e x i s t i n g   w 2 d 
                 / / 
 
                 / / 
                 / /   d e f i n e   t h e   r e s o u r c e   -   t h i s   m u s t   b e   a l l o c a t e d   o n   t h e   h e a p 
                 / / 
                 D W F G r a p h i c R e s o u r c e *   p 2 D g f x   =   
                         D W F C O R E _ A L L O C _ O B J E C T (   D W F G r a p h i c R e s o u r c e ( L " O c e a n a r i u m " ,                                               / /   t i t l e 
                                                                                                           D W F X M L : : k z R o l e _ G r a p h i c s 2 d ,                       / /   r o l e 
                                                                                                           D W F M I M E : : k z M I M E T y p e _ W 2 D ,                           / /   M I M E   t y p e 
                                                                                                           L " A u t o d e s k ,   I n c . " ,                                       / /   a u t h o r 
                                                                                                           L " O c e a n a r i u m   S a m p l e " ,                                 / /   d e s c r i p t i o n 
                                                                                                           L " " ,                                                                   / /   c r e a t i o n   t i m e 
                                                                                                           L " " )   ) ;                                                             / /   m o d i f i c a t i o n   t i m e 
 
                 i f   ( p 2 D g f x   = =   N U L L ) 
                 { 
                         _ D W F C O R E _ T H R O W (   D W F M e m o r y E x c e p t i o n ,   L " F a i l e d   t o   a l l o c a t e   r e s o u r c e "   ) ; 
                 } 
 
                 / / 
                 / /   c o n f i g u r e   t h e   r e s o u r c e 
                 / / 
                 d o u b l e   a n T r a n s f o r m [ 4 ] [ 4 ]   =   {   0 . 0 0 0 1 5 6 2 5 ,   0 ,   0 ,   0 ,   0 ,   0 . 0 0 0 1 5 6 2 5 ,   0 ,   0 ,   0 ,   0 ,   1 ,   0 ,   0 ,   0 ,   0 ,   1   } ; 
                 d o u b l e   a n C l i p [ 4 ]   =   {   0 ,   0 ,   1 1 ,   8 . 5   } ; 
 
                 p 2 D g f x - > c o n f i g u r e G r a p h i c (   ( c o n s t   d o u b l e * ) a n T r a n s f o r m , 
                                                                       N U L L , 
                                                                     ( c o n s t   d o u b l e * ) a n C l i p   ) ; 
 
                 / / 
                 / /   m o s t   i m p o r t a n t l y   -   b i n d   a   s t r e a m   t o   t h e   r e s o u r c e 
                 / /   i n   t h i s   c a s e ,   w e   h a v e   a   f i l e   o n   d i s k   s o   w e   o p e n   t h e 
                 / /   f i l e   w i t h   a   s t r e a m i n g   d e s c r i p t o r .     w e   w i l l   a l s o 
                 / /   c r e a t e   e v e r y t h i n g   o n   t h e   h e a p   s i n c e   t h e   p a c k a g e   w r i t e r 
                 / /   w i l l   n o t   u s e   t h e   s t r e a m   i m m e d i a t e l y ,   h e   w i l l   n e e d   t o   o w n 
                 / /   t h e s e   r e s o u r c e s . 
                 / / 
                 D W F F i l e   o W 2 D F i l e n a m e (   L " o c e a n _ 9 0 . w 2 d "   ) ; 
                 D W F S t r e a m F i l e D e s c r i p t o r *   p W 2 D F i l e   =   D W F C O R E _ A L L O C _ O B J E C T (   D W F S t r e a m F i l e D e s c r i p t o r ( o W 2 D F i l e n a m e ,   L " r b " )   ) ; 
 
                 i f   ( p W 2 D F i l e   = =   N U L L ) 
                 { 
                         D W F C O R E _ F R E E _ O B J E C T (   p 2 D g f x   ) ; 
 
                         _ D W F C O R E _ T H R O W (   D W F M e m o r y E x c e p t i o n ,   L " F a i l e d   t o   a l l o c a t e   f i l e   d e s c r i p t o r "   ) ; 
                 } 
 
                 D W F F i l e I n p u t S t r e a m *   p W 2 D F i l e s t r e a m   =   D W F C O R E _ A L L O C _ O B J E C T (   D W F F i l e I n p u t S t r e a m   ) ; 
 
                 i f   ( p W 2 D F i l e s t r e a m   = =   N U L L ) 
                 { 
                         D W F C O R E _ F R E E _ O B J E C T (   p 2 D g f x   ) ; 
                         D W F C O R E _ F R E E _ O B J E C T (   p W 2 D F i l e   ) ; 
 
                         _ D W F C O R E _ T H R O W (   D W F M e m o r y E x c e p t i o n ,   L " F a i l e d   t o   a l l o c a t e   f i l e   s t r e a m "   ) ; 
                 } 
 
                 / / 
                 / /   o p e n   t h e   f i l e   a n d   b i n d   i t   t o   t h e   s t r e a m 
                 / / 
                 p W 2 D F i l e - > o p e n ( ) ; 
                 p W 2 D F i l e s t r e a m - > a t t a c h (   p W 2 D F i l e ,   t r u e   ) ; 
 
                 / / 
                 / /   h a n d   t h e   s t r e a m   o f f   t o   t h e   r e s o u r c e 
                 / /   N O T E :   s i n c e   w e   d o n ' t   a l r e a d y   k n o w   t h e   f i l e s i z e   ( i n   t h e   a p p l i c a t i o n   s p a c e   -   o f   c o u r s e   w e   c a n   l o o k   o n   d i s k . . . ) 
                 / /   l e a v e   t h e   s e c o n d   p a r a m e t e r   ( n B y t e s )   d e f a u l t   a s   z e r o ,   t h i s   w i l l   t e l l   t h e   p a c k a g e   w r i t e r 
                 / /   t o   u s e   t h e   n u m b e r   o f   b y t e s   i t   p r o c e s s e d   t h r o u g h   t h e   s t r e a m   a s   t h e   s i z e   a t t r i b u t e   i n   t h e   d e s c r i p t o r . 
                 / / 
                 p 2 D g f x - > s e t I n p u t S t r e a m (   p W 2 D F i l e s t r e a m   ) ; 
 
                 / / 
                 / /   f i n a l l y ,   d r o p   t h e   r e s o u r c e   i n t o   t h e   p a g e 
                 / / 
                 p P a g e - > a d d R e s o u r c e (   p 2 D g f x ,   t r u e   ) ; 
 
                 / / 
                 / /   n o w   l e t ' s   a d d   t h e   t h u m b n a i l 
                 / / 
 
                 D W F I m a g e R e s o u r c e *   p T h u m b n a i l   =   
                         D W F C O R E _ A L L O C _ O B J E C T (   D W F I m a g e R e s o u r c e (   L " O c e a n a r i u m   T h u m b n a i l " , 
                                                                                                           D W F X M L : : k z R o l e _ T h u m b n a i l , 
                                                                                                           D W F M I M E : : k z M I M E T y p e _ P N G )   ) ; 
 
                 i f   ( p T h u m b n a i l   = =   N U L L ) 
                 { 
                         _ D W F C O R E _ T H R O W (   D W F M e m o r y E x c e p t i o n ,   L " F a i l e d   t o   a l l o c a t e   r e s o u r c e "   ) ; 
                 } 
 
                 / / 
                 / /   c o n f i g u r e   t h e   r e s o u r c e 
                 / / 
                 d o u b l e   a n T r a n s f o r m 2 [ 4 ] [ 4 ]   =   {   1 ,   0 ,   0 ,   0 ,   0 ,   1 ,   0 ,   0 ,   0 ,   0 ,   1 ,   0 ,   0 ,   0 ,   0 ,   1   } ; 
                 d o u b l e   a n E x t e n t s 2 [ 4 ]   =   {   0 ,   0 ,   2 2 0 ,   1 7 0   } ; 
 
                 p T h u m b n a i l - > c o n f i g u r e G r a p h i c (   ( c o n s t   d o u b l e * ) a n T r a n s f o r m 2 , 
                                                                             ( c o n s t   d o u b l e * ) a n E x t e n t s 2   ) ; 
 
                 / / 
                 / /   e x t r a s   f o r   t h e   i m a g e 
                 / /   h e r e   w e   n o t e   t h e   i m a g e   h a s   2 4   b p p   ( c o l o r   d e p t h ) 
                 / / 
                 p T h u m b n a i l - > c o n f i g u r e I m a g e (   2 4   ) ; 
 
                 D W F F i l e   o T h u m b n a i l F i l e n a m e (   L " o c e a n _ t h u m b n a i l . p n g "   ) ; 
                 D W F S t r e a m F i l e D e s c r i p t o r *   p T h u m b n a i l F i l e   =   D W F C O R E _ A L L O C _ O B J E C T (   D W F S t r e a m F i l e D e s c r i p t o r ( o T h u m b n a i l F i l e n a m e ,   L " r b " )   ) ; 
 
                 i f   ( p T h u m b n a i l F i l e   = =   N U L L ) 
                 { 
                         D W F C O R E _ F R E E _ O B J E C T (   p T h u m b n a i l   ) ; 
 
                         _ D W F C O R E _ T H R O W (   D W F M e m o r y E x c e p t i o n ,   L " F a i l e d   t o   a l l o c a t e   f i l e   d e s c r i p t o r "   ) ; 
                 } 
 
                 D W F F i l e I n p u t S t r e a m *   p T h u m b n a i l F i l e s t r e a m   =   D W F C O R E _ A L L O C _ O B J E C T (   D W F F i l e I n p u t S t r e a m   ) ; 
 
                 i f   ( p T h u m b n a i l F i l e s t r e a m   = =   N U L L ) 
                 { 
                         D W F C O R E _ F R E E _ O B J E C T (   p T h u m b n a i l   ) ; 
                         D W F C O R E _ F R E E _ O B J E C T (   p T h u m b n a i l F i l e   ) ; 
 
                         _ D W F C O R E _ T H R O W (   D W F M e m o r y E x c e p t i o n ,   L " F a i l e d   t o   a l l o c a t e   f i l e   s t r e a m "   ) ; 
                 } 
 
                 p T h u m b n a i l F i l e - > o p e n ( ) ; 
                 p T h u m b n a i l F i l e s t r e a m - > a t t a c h (   p T h u m b n a i l F i l e ,   t r u e   ) ; 
 
                 p T h u m b n a i l - > s e t I n p u t S t r e a m (   p T h u m b n a i l F i l e s t r e a m   ) ; 
 
                 / / 
                 / /   d r o p   t h e   r e s o u r c e   i n t o   t h e   p a g e 
                 / /   a n d   b e   s u r e   t o   m e n t i o n   t h a t   i t   " b e l o n g s "   t o   t h e   W 2 D   
                 / /   ( a n d   r e p l a c e   a n d   d e l e t e ) 
                 / / 
                 p P a g e - > a d d R e s o u r c e (   p T h u m b n a i l ,   t r u e ,   t r u e ,   t r u e ,   p 2 D g f x   ) ; 
 
                 / / 
                 / /   o b j e c t   d e f i n i t i o n s :   i n   t h i s   s m a l l   e x a m p l e , 
                 / /   l e t ' s   a s s u m e   w e   h a v e   a   k n o w n   o b j e c t   n o d e   i n   t h e   w 2 d 
                 / /   w e   w i l l   c r e a t e   a n   o b j e c t   a n d   i n s t a n c e   f o r   t h i s   n o d e 
                 / / 
                 D W F D e f i n e d O b j e c t *   p O b j e c t   =   D W F C O R E _ A L L O C _ O B J E C T (   D W F D e f i n e d O b j e c t   ) ; 
                 D W F D e f i n e d O b j e c t I n s t a n c e *   p I n s t a n c e   =   p O b j e c t - > i n s t a n c e (   L " 1 "   ) ; 
 
                 / / 
                 / /   a d d   a   p r o p e r t y   d i r e c t l y   o n   t h e   i n s t a n c e 
                 / / 
                 p I n s t a n c e - > a d d P r o p e r t y (   D W F C O R E _ A L L O C _ O B J E C T ( D W F P r o p e r t y ( L " v e n d o r " ,   L " a b c   m a n u " ,   L " v e n d o r s " ) ) ,   t r u e   ) ; 
 
                 / / 
                 / /   c r e a t e   t h e   o b j e c t   d e f i n i t i o n   r e s o u r c e 
                 / / 
                 D W F O b j e c t D e f i n i t i o n R e s o u r c e *   p O b j D e f R e s   =   
                         D W F C O R E _ A L L O C _ O B J E C T (   D W F O b j e c t D e f i n i t i o n R e s o u r c e ( D W F X M L : : k z E l e m e n t _ P a g e O b j e c t D e f i n i t i o n , D W F X M L : : k z R o l e _ O b j e c t D e f i n i t i o n )   ) ; 
 
                 / / 
                 / /   a d d   t h e   o b j e c t 
                 / / 
                 p O b j D e f R e s - > a d d O b j e c t (   p O b j e c t   ) ; 
 
                 / / 
                 / /   a d d   t h e   i n s t a n c e 
                 / / 
                 p O b j D e f R e s - > a d d I n s t a n c e (   p I n s t a n c e   ) ; 
 
                 / / 
                 / /   a d d   t h e   r e s o u r c e   ( a s   a   c h i l d   o f   t h e   w 2 d ) 
                 / / 
                 p P a g e - > a d d R e s o u r c e (   p O b j D e f R e s ,   t r u e ,   t r u e ,   t r u e ,   p 2 D g f x   ) ; 
 
                 / / / 
                 / / / 
 
                 D W F F i l e   o D W F (   a r g v [ 1 ]   ) ; 
                 D W F P a c k a g e W r i t e r   o W r i t e r (   o D W F   ) ; 
 
                 / / 
                 / /   a d d   s o m e   p a c k a g e - w i d e   p r o p e r t i e s 
                 / / 
                 D W F P r o p e r t y C o n t a i n e r &   r M a n i f e s t P r o p e r t i e s   =   o W r i t e r . g e t M a n i f e s t P r o p e r t i e s ( ) ; 
                 r M a n i f e s t P r o p e r t i e s . a d d P r o p e r t y (   D W F C O R E _ A L L O C _ O B J E C T ( D W F P r o p e r t y ( L " P a c k a g e   P r o p e r t y   N a m e " ,   L " P a c k a g e   P r o p e r t y   V a l u e " ,   L " P a c k a g e   P r o p e r t y   C a t e g o r y " ,   L " " ,   L " " ) ) ,   t r u e   ) ; 
 
                 o W r i t e r . a d d S e c t i o n (   p P a g e   ) ; 
                 o W r i t e r . w r i t e (   L " A u t o d e s k " ,   L " S i m p l e E P l o t W r i t e r . c p p " ,   L " " ,   L " A u t o d e s k " ,   _ D W F T K _ V E R S I O N _ S T R I N G   ) ; 
 
                 w c o u t   < <   L " O K \ n " ; 
         } 
         c a t c h   ( D W F E x c e p t i o n &   e x ) 
         { 
                 w c o u t   < <   e x . t y p e ( )   < <   L " :   "   < <   e x . m e s s a g e ( )   < <   e n d l ; 
                 w c o u t   < <   L " ( f u n c t i o n )   "   < <   e x . f u n c t i o n ( )   < <   e n d l ; 
                 w c o u t   < <   L " ( f i l e )   "   < <   e x . f i l e ( )   < <   e n d l ; 
                 w c o u t   < <   L " ( l i n e )   "   < <   e x . l i n e ( )   < <   e n d l ; 
         } 
 
         r e t u r n   0 ; 
 } 
 
 
 

Generated on Mon May 9 18:48:35 2005 for Autodesk DWF Toolkit by  doxygen 1.4.1