5·î1Æü¤Îµ¼Ô²ñ¸«¤Ï¿·À½Éʤ¬È¯É½¤µ¤ì¤½¤¦¤È¤¤¤¦Ï䬽лϤá¤Æ¤¤¤Þ¤¹¡£¤À¤±¤É¡¢¤½¤³¤ÇÂ礤Êȯɽ¤¬¤¢¤ë¤È¡¢WWDC¤Ç¤Ï²¿¤â¿·¤·¤¤È¯É½¤¬¤Ê¤¤¤È¤«¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤½¤¦¤Ç¡¢¤Á¤ç¤Ã¤ÈÊ£»¨¤Ç¤¹¤Í¡£¤À¤±¤É¡¢È¯É½¤ÎÆâÍƤò¼õ¤±¤Æ¡¢iWeek¤Ç¤ÏÏÃÂêʨƤˤʤ뤫¤â¤·¤ì¤Þ¤»¤ó¡£¤Á¤ç¤¦¤É1½µ´Ö¸å¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢¤µ¤Æ¤É¤¦¤Ê¤ë¤³¤È¤ä¤é¡£º£Æü¤ÏLaunch Service¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥àºîÀ®¤ÇËܶڤȤϴط¸¤Ê¤¤¤È¤³¤í¤Ç¤Ï¤Þ¤Ã¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¡¢Èè¤ì¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡Ê¶ì¾Ð¡Ë¡¢¤Æ¤Ê¤ï¤±¤Ç¤³¤ÎÊդǡ£
¤µ¤Æ¡¢FlashËܤÎÅöÁª¼Ô¤Ï°Ê²¼¤ÎÊý¤Ç¤¹¡£5̾¤ÎÊý¡¹¤Î±þÊ礬¤¢¤ê¤Þ¤·¤¿¡£ÌÀÆü¡¢È¯Á÷¤ÎͽÄê¤Ç¤¹¡£
Flash5ËÜÅöÁª¼Ô¡§Á¥ÀÚÀ¿¤µ¤ó
¡Ê¿·µï²í¹Ô msyk@mdonline.jp¡Ë
º£²ó¤ÏÁ°²ó¤Î³¤¤Ç¤¹¡£¡Ö¥¦¥£¥ó¥É¥¦¤ÎLive Resizing¡×¤ò¼Â¸½¤·¤Æ¤¤¤ëCarbon Event Handler¡ÊCarbon Event½èÍý¥ë¡¼¥Á¥ó¡Ë¤Î¥½¡¼¥¹¥³¡¼¥É¤ò¡¢¤è¤êÎɤ¤·Á¤Ø¤È½ñ¤Ä¾¤·¤Æ¤Æ¤ß¤Þ¤¹¡£
¤Þ¤º¤Ï¡¢¤ª¤µ¤é¤¤¤«¤é¤Ç¤¹¡£Á°²óºîÀ®¤·¤¿Carbon Event Handler¤Î¥½¡¼¥¹¥³¡¼¥É¤ò¤â¤¦°ìÅÙ¸«¤Æ¤ß¤Þ¤¹¡£
¡¡
¤³¤Î¥½¡¼¥¹¤Î¡ÖÈþ¤·¤¯¤Ê¤¤ÅÀ¡×¤Ï2²Õ½ê¤¢¤ê¤Þ¤·¤¿¡£¤Ò¤È¤ÄÌܤϡ¢¥¦¥£¥ó¥É¥¦¤Î¥µ¥¤¥º¥ª¡¼¥Ð¡¼¤òCarbon Event¤Î½èÍýÆâ¤ÇÃ༡¥Á¥§¥Ã¥¯¤·¤Æ¤¤¤ëÅÀ¤Ç¤¹¡£ViewJPEG¥¢¥×¥ê¤Î¥¦¥£¥ó¥É¥¦¤Ë¤Ï²èÁü¤¬É½¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥Þ¥¦¥¹¥É¥é¥Ã¥°¤Ç¥¦¥£¥ó¥É¥¦¤ò³ÈÂ礷¤¿¤È¤·¤Æ¤â¡¢¤½¤ì¤¬²èÁü¶ë·ÁÏȤè¤êÂ礤¯¤Ê¤ë¤³¤È¤Ïµö¤µ¤ì¤Þ¤»¤ó¡£²èÁü¥¦¥£¥ó¥É¤ÎºÇÂç¶ë·ÁÏȡʲèÁü¶ë·ÁÏȤ˺¸±¦¤Î¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ò²Ã¤¨¤¿¥µ¥¤¥º¡Ë¤ÏgetGrowRect()¥ë¡¼¥Á¥ó¤Çµá¤á¤ë¤é¤ì¤Þ¤¹¡£
¡¡
GetEventParameter()¤Ç¸½ºß¤Î¥¦¥£¥ó¥É¥¦¶ë·ÁÏȤòÆÀ¤ÆºÇÂç¶ë·ÁÏȤÈSectRect()¤ò¹Ô¤¤¡¢À©¸ÂÆâ¤ËÆâ¤Ë¼ý¤á¤ë¤è¤¦¤ËÂн褷¤Æ¤¤¤Þ¤¹¡£¤â¤¦¤Ò¤È¤Ä¤Ï¡¢¥¦¥£¥ó¥É¥¦¤Î²èÁü¤òºÆÉÁ²è¤¹¤ëÁ°¤ËSizeWindow()¤ò¸Æ¤Ó½Ð¤·¤Æ¤¤¤ëÅÀ¤Ç¤¹¡£¤³¤Î¥ë¡¼¥Á¥ó¤ò¸Æ¤Ð¤Ê¤¤¤È¡¢ºÇ¸å¤Ë¥Þ¥¦¥¹¥«¡¼¥½¥ë¤¬ÀŻߤ·¤¿°ÌÃ֤ǤÎÃæ¿È¤ÎºÆÉÁ²è¤¬¹Ô¤ï¤ì¤Ê¤¤¤³¤È¤ÏÁ°²ó¤ËÀâÌÀ¤·¤Þ¤·¤¿¡£¸µÍè¡¢SizeWindo£÷()¤Ï¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¤Î¤Ç¡¢¤³¤³¤Ç¸Æ¤Ó½Ð¤µ¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¤Î¤Ï¼áÁ³¤È¤·¤Þ¤»¤ó¡£
¿·¤·¤¯²þÄû¤µ¤ì¤ì¤¿Carbon Events¤Ë´Ø¤¹¤ëPDF¥É¥¥å¥á¥ó¥È¤òÄ´¤Ù¤Æ¤ß¤ë¤È¡¢10¥Ú¡¼¥¸¤«¤é¡ÖDefault Event Handlers¡×¤È¤¤¤¦¾Ï¤¬¤¢¤ê¤Þ¤¹¡£Carbon Event Model¤Ç¤Ï¡¢³«È¯¼Ô¦¤¬¥¦¥£¥ó¥É¥¦¤ËÂФ¹¤ëCarbon Event Handler¤ò²¿¤âÍÑ°Õ¤·¤Æ¤¤¤Ê¤¤¤È¡¢¥·¥¹¥Æ¥à¤¬ÍÑ°Õ¤·¤Æ¤¤¤ëHandler¤¬ÍøÍѤµ¤ì¤ë»ÅÁȤߤˤʤäƤ¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥·¥¹¥Æ¥à¦¤¬¼«Æ°¤ÇCarbon Event¤ÎÀ¤Ïäò¤·¤Æ¤¯¤ì¤ë¤ï¤±¤Ç¤¹¡£¤³¤ì¤ò¡¢Default Event Handler¤È¸Æ¤Ó¤Þ¤¹¡£¤³¤¦¤·¤¿Default Event Handler¤Ï¡¢¥æ¡¼¥¶¤ÎÁàºîÂоݤǤ¢¤ë¡¢¤¢¤é¤æ¤ë¥ª¥Ö¥¸¥§¥¯¥È¡Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¢¥¦¥£¥ó¥É¥¦¡¢¥³¥ó¥È¥í¡¼¥ë¡¢¥á¥Ë¥å¡¼¤Ê¤É¡Ë¤ËÂФ·¤ÆÍÑ°Õ¤µ¤ì¤Æ¤ª¤ê¡¢³«È¯¼Ô¦¤ÎÉéô¤ò¸º¤é¤¹¤è¤¦¤Ë¹Í褵¤ì¤Æ¤¤¤Þ¤¹¡£¤Ç¤¹¤«¤é¡¢ÀΤÎEvent Model¤Î¾ì¹ç¤Ê¤é¡¢¥¦¥£¥ó¥É¥¦¤Î°ÜÆ°¡¢¥ê¥µ¥¤¥º¡¢¥º¡¼¥à¡¢ÊĤ¸¤ë½èÍý¤Ê¤É¤ò¼Â¸½¤¹¤ë¤Ë¤Ï¡¢É¬¤ºWindow Manger¤ÎAPI¤òÍѤ¤¤Æ¡¢²¿¤é¤«¤Î¥½¡¼¥¹¥³¡¼¥É¤òµ½Ò¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¤Ç¤·¤¿¡£¤·¤«¤·Carbon Event Model¤Ç¤Ï¡¢¤½¤Î¼ê´Ö¤ÎÂçÉôʬ¤ò¾Ê¤¯¤³¤È¤¬²Äǽ¤Ê¤Î¤Ç¤¹¡£
¤³¤Î¾Ï¤Ç½ÅÍפʲսê¤Ï¡¢11¥Ú¡¼¥¸¤«¤é12¥Ú¡¼¥¸¤Ë¤«¤±¤Æµ½Ò¤µ¤ì¤Æ¤¤¤ë¡¢¥¦¥£¥ó¥É¥¦¤Ë´ØÏ¢¤·¤¿Default Event Handler¤ÎµóÆ°ÆâÍƤǤ¹¡£¥Þ¥¦¥¹¥É¥é¥Ã¥°¤Ë¤è¤ê¥¦¥£¥ó¥É¥¦¤Î¥ê¥µ¥¤¥º¤¬µ¯¤³¤Ã¤¿»þ¡¢¤¤¤¯¤Ä¤â¤ÎCarbon Event¡ÊEvent Kind¡Ë¤¬È¯À¸¤·¤Þ¤¹¡£¤³¤³¤Ç¤Ï¡¢¤½¤ÎȯÀ¸½ç½ø¤¬»þ·ÏÎó¤Ë²òÀ⤵¤ì¤Æ¤¤¤Þ¤¹¡£¤Þ¤º¤Ï¥æ¡¼¥¶¤Î¥Þ¥¦¥¹¥¯¥ê¥Ã¥¯¤Ë¤è¤ê¡ÖkEventClassMouse¡×¡ÊEvent Class¡Ë¤Î¡ÖkEventMouseDown¡×¡ÊEvent Kind¡Ë¤¬È¯À¸¤·¤Þ¤¹¡£¤½¤ì°Ê¹ß¤ËȯÀ¸¤¹¤ëCarbon Event¤ò½ç¼¡µºÜ¤·¤Æ¤ß¤Þ¤·¤¿¡Ê³ç¸ÌÆâ¤ÏEvent Kind¤Ç¤¹¡Ë¡£
¡Ê1¡Ë¥Þ¥¦¥¹¤¬¥¦¥£¥ó¥É¥¦¤Î¤É¤ÎÉôʬ¡Ê¥Ñ¡¼¥Ä¡Ë¤Ç¥¯¥ê¥Ã¥¯¤µ¤ì¤¿¤«¥Á¥§¥Ã¥¯¤µ¤ì¤ë¡£
¡¡¡¡¡ÖkEventWindowHitTest¡×
¡Ê2¡Ë¥¦¥£¥ó¥É¥¦¤ÎRisize Region¡Ê¥°¥í¥¦¥Ü¥Ã¥¯¥¹¡Ë¤Ç¥¯¥ê¥Ã¥¯¤µ¤ì¤¿¤ÈȽÃǤµ¤ì¤ë¡£
¡¡¡¡¡ÖkEventWindowClickResizeRgn¡×
¡Ê3¡Ë¥¦¥£¥ó¥É¥¦¤ÎºÇ¾®¥µ¥¤¥º¡Ê¶ë·ÁÏȡˤȺÇÂ祵¥¤¥º¤¬ÀßÄꤵ¤ì¤ë¡£
¡¡¡¡¡ÖkEventWindowGetMinimumSize¡×¡ÖkEventWindowGetMaximumSize¡×
¡Ê4¡Ë°Ê²¼¤Î3¥¹¥Æ¥Ã¥×¤Ï¥Þ¥¦¥¹¥É¥é¥Ã¥°Ãæ¤Ë·«¤êÊÖ¤·¤Æ½èÍý¤µ¤ì¤ë¡£
¡¡¡Êa¡Ë¥Þ¥¦¥¹¥É¥é¥Ã¥°¤¬¤Ê¤µ¤ì¤Æ¤¤¤ë¡£¡ÖkEventMouseDragged¡×
¡¡¡Êb¡Ë¥¦¥£¥ó¥É¥¦¥µ¥¤¥º¤¬Êѹ¹¤µ¤ì¤ë¡£¡ÖkEventWindowBoundsChanging¡×
¡¡¡Êc¡Ë¥¦¥£¥ó¥É¥¦ÏȤÎÉÁ²è¤ò¹Ô¤¦¡£¡ÖkEventWindowGetGrowImageRegion¡×
¡Ê5¡Ë¥æ¡¼¥¶¤Ë¤è¤ê¥Þ¥¦¥¹¥Ü¥¿¥ó¤¬Î¥¤µ¤ì¤ë¡£
¡¡¡¡¡ÖkEventMouseUp¡×
¡Ê6¡Ë¥µ¥¤¥º¤¬Êѹ¹¤µ¤ì¤¿¥¦¥£¥ó¥É¥¦¼«¿È¤¬ºÆÉÁ²è¤µ¤ì¤ë¡£
¡¡¡¡¡ÖkEventWindowDrawFrame¡×
¡Ê7¡ËºÇ½ªÅª¤Ê¥¦¥£¥ó¥É¥¦ÏȤ¬·èÄꤵ¤ì¤ë¡£
¡¡¡¡¡ÖkEventWindowBoundsChanged¡×
¡Ê8¡Ë¥¦¥£¥ó¥É¥¦¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤¬Í׵ᤵ¤ì¤ë¡£
¡¡¡¡¡ÖkEventWindowUpdate¡×
¡Ê9¡Ë¥¦¥£¥ó¥É¥¦¤ÎÃæ¿È¤¬¤ÎºÆÉÁ²è¤¬Í׵ᤵ¤ì¤ë¡£
¡¡¡¡¡ÖkEventWindowDrawContent¡×
¾åµ¤Îή¤ì¤ò¸«¤Æ¤ß¤ë¤È¡¢¥¹¥Æ¥Ã¥×3¤Ç¸Æ¤Ó½Ð¤µ¤ì¤ëkEventWindowGetMinimumSize¤ÈkEventWindowGetMaximumSize¤ò¤³¤Á¤é¦¤Ç½èÍý¤¹¤ì¤Ð¡¢¥ê¥µ¥¤¥ººÇÃæ¤ËÃ༡¥¦¥£¥ó¥É¥¦¥µ¥¤¥º¤ò¥Á¥§¥Ã¥¯¤¹¤ëɬÍפϤʤµ¤½¤¦¤Ç¤¹¡£ViewJPEG¥¢¥×¥ê¤ÎHandler¥ë¡¼¥Á¥ó¤ËξEvent Kind¤ËÂбþ¤¹¤ë½èÍý¤òÄɲ乤뤳¤È¤Ç¡¢¤Þ¤º¤ÏºÇ½é¤ÎÌäÂêÅÀ¤Ï²ò·è¤·¤Þ¤·¤¿¡£
¡¡
¤â¤¦¤Ò¤È¤Ä¤ÎÌäÂêÅÀ¤Ï¡¢kEventWindowBoundsChanged¤È¤¤¤¦Event Kind¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¤³¤È¤Ëµ¤¤Å¤Æ椬²ò¤±¤Þ¤·¤¿¡£¤É¤¦¤â¥ê¥µ¥¤¥º½ªÎ»»þ¤Î¥¦¥£¥ó¥É¥¦¥µ¥¤¥º¤Ï¡¢¤³¤ÎEvent Kind¤¬Á÷¤é¤ì¤¤¿»þÅÀ¤Ç·èÄꤵ¤ì¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£¤è¤Ã¤Æ¡¢¥½¡¼¥¹¥³¡¼¥É¤ò°Ê²¼¤Î¤è¤¦¤Ë½ñ¤Ä¾¤¹¤³¤È¤Ç¡¢SizeWindow()¤ò¼Â¹Ô¤·¤Ê¤¯¤Æ¤âÌäÂê¤Ê¤¯Live Resizing¤ò¹Ô¤¦¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
¡¡
¤Á¤Ê¤ß¤Ë¡¢Mac OS X¤Ç¥¦¥£¥ó¥É¥¦¥¢¥È¥ê¥Ó¥å¡¼¥È¤ËkWindowLiveResizeAttribute¤ò¥»¥Ã¥È¤·¤¿»þ¤Ë¤Ï¡¢¡Ê4¡Ë¤Î¡Êc¡Ë¤ÏȯÀ¸¤»¤º¡¢Âå¤ï¤ê¤Ë¡Ê6¡Ë¤Ç¤Î½èÍý¤¬Ã༡¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤È¹Í¤¨¤é¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Ë¤â¡¢Mac OS X¤ÈMac OS 9¤Ç¤Ï¡¢Carbon Event¤ÎȯÀ¸½ç½ø¤ä¼ïÎà¤ËÈù̯¤Ê°ã¤¤¤¬¤¢¤ë¤è¤¦¤Ç¤¹¡£¤è¤Ã¤Æ¡¢Event Handler¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë»þÅÀ¤Ç¡¢Á°²ó¾Ò²ð¤·¤¿chkSysOSX()¤òÍøÍѤ·¡¢Mac OS¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤ê¥¤¥ó¥¹¥È¡¼¥ë¤¹¤Ù¤Event Kind¤òÀÚ¤êÂؤ¨¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£
¡¡
º£²ó¤Î¾ì¹ç¡¢Mac OS X¤Ç¤Ï¡ÖkEventWindowBoundsChanging¡×¤È¡ÖkEventWindowBoundsChanged¡×¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢µÕ¤Ë¡ÖkEventWindowResizeCompleted¡×¤ÏMac OS 9¤Î¤ß¤Î¥¤¥ó¥¹¥È¡¼¥ë¤È¤Ê¤ê¤Þ¤¹¡£¤³¤¦¤·¤¿¸ÄÊÌÂнè¤Ï¡¢¥á¥Ë¥å¡¼¤ä¥³¥ó¥È¥í¡¼¥ë¤ËÂФ¹¤ëCarbon Event Handler¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤âɬÍפˤʤ뤫¤â¤·¤ì¤Þ¤»¤ó¡£
¤Þ¤¿¡¢Carbon Event¤Ë¤Ï¡¢Ì¾Á°¤Ï»÷¤Æ¤¤¤ë¤¬È¯À¸¤¹¤ë¥¿¥¤¥ß¥ó¥°¤¬Èù̯¤Ë°ã¤¦¼ïÎब¤¤¤¯¤Ä¤«¤¢¤ë¤è¤¦¤Ç¤¹¡£Î㤨¤Ð¡¢¡ÖkEventWindowClose¡×¤È¡ÖkEventWindowClosed¡×¤È¤¤¤¦»÷¤¿¤è¤¦¤Ê̾Á°¤ÎEvent Kind¤¬¤¢¤ê¤Þ¤¹¡£Á°¼Ô¤Ï¥¦¥£¥ó¥É¥¦¤Î¥¯¥í¡¼¥º¥Ü¥Ã¥¯¥¹¤¬¥¯¥ê¥Ã¥¯¤µ¤ì¡¢¥Þ¥¦¥¹¥Ü¥¿¥ó¤¬Î¥¤µ¤ì¤¿»þÅÀ¤ÇȯÀ¸¤·¤Þ¤¹¡£¸å¼Ô¤Ï¥¦¥£¥ó¥É¥¦¤¬ÊĤ¸¤é¤ì¤Æ¤·¤Þ¤Ã¤Æ¤«¤éȯÀ¸¤·¤Þ¤¹¡£ºÇ½é¤Î¤¦¤Á¡¢ViewJPEG¥¢¥×¥ê¤Ç¤Î²èÁü¥¦¥£¥ó¥É¥¦¤òÊĤ¸¤Æ¥á¥â¥ê¤ò²òÊü¤¹¤ë½èÍý¤Ï¡¢kEventWindowClosed¤ÎHandler¥ë¡¼¥Á¥ó¤È¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¡£¤·¤«¤·¡¢¤³¤ì¤ÏÂ礤ʴְ㤤¤Ç¤¹¡£¤³¤ì¤Ç¤Ï¥¦¥£¥ó¥É¥¦¤¬¤¹¤Ç¤ËÊĤ¸¤é¤ì¤Æ¤·¤Þ¤Ã¤¿¡ÊDisposeWindow()¤¬¼Â¹Ô¤µ¤ì¤¿¡Ë¸å¤Ë¡¢¤Þ¤¿¥¦¥£¥ó¥É¥¦¤òÊĤ¸¤ë½èÍý¤ò·«¤êÊÖ¤¨¤¹¤³¤È¤Ë¤Ê¤ê¡¢Â礤ʥХ°¤òÀ¸¤ß½Ð¤·¤Æ¤¤¤¿¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
Universal Interfaces¤ÎCarbonEvent.h¤Ë¤Ï¡¢¸Ä¡¹¤ÎEvent Kind¤ÎÆâÍƤ䡢¤½¤Î»þÅÀ¤ÇÆþ½ÐÎϤǤ¤ë¥Ñ¥é¥á¡¼¥¿¤Î¼ïÎà¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤½¤³¤½¤³¾Ü¤·¤¤²òÀ⤬ºÜ¤Ã¤Æ¤¤¤Þ¤¹¡£¤·¤«¤·¡¢Default Event Handler¤ò¼«Ê¬¼«¿È¤ÎHandler¥ë¡¼¥Á¥ó¤Ë½ñ¤´¹¤¨¤ë¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¢¥æ¡¼¥¶¤Î¥Þ¥¦¥¹¤ä¥¡¼¥Ü¡¼¥ÉÁàºî¤Ë¤è¤ê¡¢¤É¤Î¤è¤¦¤Ê»þ·ÏÎó¤Ç¤É¤ó¤Ê¼ïÎà¤ÎEvent Kind¤¬È¯À¸¤¹¤ë¤Î¤«¤È¤¤¤¦¾ðÊó¤¬ÂçÊѽÅÍפˤʤê¤Þ¤¹¡£»ÄÇ°¤Ê¤é¤é¡¢¤³¤¦¤·¤¿¾ðÊó¤Ë´Ø¤·¤Æ¤Ï¡¢¤Þ¤Ã¤¿¤¯¼ê¤¬¤«¤ê¤¬¤¢¤ê¤Þ¤»¤ó¡£¤è¤Ã¤Æ³«È¯¼Ô¦¤¬¼«Ê¬¤Ç¤«¤Ã¤Æ¤ËÁÛÁü¤¹¤ë¤·¤«¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢¤½¤ì¤Ï´í¸±¤ÇÈó¸úΨ¤Êºî¶È¤Ç¤¹¡£¥Ç¥Ù¥í¥Ã¥Ñ¡¼¤Ë¤â¤Ã¤ÈCarbon Event Model¤òÍøÍѤ·¤Æ¤â¤é¤¤¤¿¤±¤ì¤Ð¡¢Apple¼Ò¤Ï¡¢¤µ¤é¤Ê¤ëµ»½Ñ¾ðÊó¤ò¥É¥¥å¥á¥ó¥È¤ä¥µ¥ó¥×¥ë¥½¡¼¥¹¤È¤·¤ÆÁáµÞ¤ËÄ󶡤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£
º£²ó¤Î²òÀâ¤ËÍѤ¤¤¿ViewJPEG v1.23¤Î¥½¡¼¥¹¥³¡¼¥É¤Ï¡¢°Ê²¼¤Î¥µ¥¤¥È¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¾ÜºÙ¤ò³Îǧ¤·¤¿¤¤Êý¤Ï¡¢¤¼¤Ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¡þOttimo: Digital Library
¡¡http://www.ottimo.co.jp/library/index.html
[¾®ÃÓË®¿Í/¥ª¥Ã¥Æ¥£¥â]
´ØÏ¢¥ê¥ó¥¯¡§¥ª¥Ã¥Æ¥£¥â
¥«¥Æ¥´¥ê¡§Carbon/CF, ¾®ÃÓË®¿Í¤Î¥×¥í¥°¥é¥ß¥ó¥°Æüµ
Launch Services¤ÎÍøÍÑÊýË¡¤Î³¤¤òÀâÌÀ¤·¤è¤¦¡£Á°²ó¤Ï³µÍפÀ¤±¤À¤Ã¤¿¤¬º£²ó¤Ï¾Ü¤·¤¯ÀâÌÀ¤¹¤ë¤³¤È¤Ë¤¹¤ë¡£¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ÎLaunchServices.h¤Ë¤Ä¤¤¤Æ¤âʹԤ·¤ÆÌܤòÄ̤·¤Æ¤¤¤¿¤À¤¤¿¤¤¡£¤Þ¤º¡¢Launch Services¤Ë¤Ï¤¤¤¯¤Ä¤«API¤¬¤¢¤ë¤¬¡¢¤½¤ì¤é¤òÀ°Íý¤¹¤ë¤È°Ê²¼¤Î3¤Ä¤Î¥¸¥ã¥ó¥ë¤Ëʬ¤±¤ë¤³¤È¤¬¤Ç¤¤ë¡£¤â¤Á¤í¤ó¡¢¾ðÊó¤ò¼èÆÀ¤·¤¿¤¤¤È¤¤¤¦¿Í¤â¤¤¤ë¤À¤í¤¦¤±¤É¡¢¤â¤Ã¤È¤â¤è¤¯»È¤¦¤Î¤Ï¡¢ºÇ¸å¤Î¥Õ¥¡¥¤¥ë¤äURL¤ò¥ª¡¼¥×¥ó¤¹¤ë¤È¤¤¤¦¥«¥Æ¥´¥ê¤Ë¤¢¤ëAPI¥³¡¼¥ë¤À¤í¤¦¡£º£’ó¤Ï¤³¤ì¤é¤ò»È¤Ã¤¿¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤ò·ÇºÜ¤¹¤ë¡£¥×¥í¥°¥é¥à¤ÏÊ̷Ǥε»ö¤Ë¼¨¤·¤¿¡£
¢¢Launch Service¤Î½é´ü²½¤È½ªÎ»
¡¡LSInit¡¢LSTerm
¢¢¥Õ¥¡¥¤¥ë¤äURL¤Ë´Ø¤ï¤ë¾ðÊó¤Î¼èÆÀ
¡¡LSCopyItemInfoForRef¡¢LSCopyItemInfoForURL¡¢
¡¡LSCopyKindStringForRef¡¢LSCopyKindStringForURL¡¢
¡¡LSGetApplicationForItem¡¢LSGetApplicationForInfo¡¢
¡¡LSGetApplicationForURL¡¢LSFindApplicationForInfo¡¢
¡¡LSCanRefAcceptItem¡¢LSCanURLAcceptURL
¢¢¥Õ¥¡¥¤¥ë¤äURL¤ò¥ª¡¼¥×¥ó
¡¡LSOpenFSRef¡¢LSOpenCFURLRef¡¢
¡¡LSOpenFromRefSpec¡¢LSOpenFromURLSpec
¥Õ¥¡¥¤¥ë¤äURL¤ò¥ª¡¼¥×¥ó¤¹¤ëAPI¤Ï4¤Ä¤¢¤ë¤¬¡¢¤½¤ì¤¾¤ì¡¢³«¤¯ÂоݤòFSRef¤Ç»ØÄꤹ¤ë¤â¤Î¤ÈCFURL¡ÊCore Foundation¤ÎURL Service¥Ù¡¼¥¹¤ÎURL¡Ë¤Ç»ØÄꤹ¤ë¤â¤Î¤Ëʬ¤±¤é¤ì¤ë¡£¤Þ¤¿¡¢¤½¤ì¤¾¤ì¡¢Ã±¤Ë1¤Ä¤ÎFSRef¤äCFURL¤ò³«¤¯¤â¤Î¤È¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È³«¤¯Ê¸½ñ¤ò¤½¤ì¤¾¤ìÊÌ¡¹¤Ë»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤ë¤â¤Î¤Ëʬ¤±¤é¤ì¤ë¡£
¤Þ¤º¡¢Ã±¤Ë»ØÄꤷ¤¿FSRef¤ò³«¤¯¤Î¤¬LSOpenFSRef¤Ç¤¢¤ë¡£»ØÄꤷ¤¿¤Î¤¬¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤¢¤ì¤Ð¤½¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬³«¤¯¡£Ê¸½ñ¥Õ¥¡¥¤¥ë¤Ç¤¢¤ì¤Ð¡¢¤½¤Îʸ½ñ¥Õ¥¡¥¤¥ë¤Ë´ØÏ¢¤Å¤±¤é¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬³«¤¡¢Ê¸½ñ¥Õ¥¡¥¤¥ë¤ò³«¤¯¡£¤¤¤ï¤Ð¡¢Finder¾å¤Ç¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤¿Æ°ºî¤ËÅù¤·¤¤API¤À¤È¸À¤¨¤ë¤À¤í¤¦¡£
¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ç¤ÏLaunchItem´Ø¿ô¤Ç¡¢LSOpenFSRef¤ò»È¤Ã¤Æ¤¤¤ë¡£¥µ¥Ö¥ë¡¼¥Á¥ó¤Ë¤¹¤ë¤Þ¤Ç¤â¤Ê¤¤¤Û¤É¤Ç¤Ï¤¢¤ë¤¬¡¢¤¤¤Á¤ª¤¦Launch Services¤ÎAPI¥³¡¼¥ë¤¬ÌÀ³Î¤Ë¤Ê¤ë¤è¤¦¤Ë¡¢¥µ¥Ö¥ë¡¼¥Á¥ó¤È¤·¤Æ¤ß¤¿¡£LSOpenFSRef¤Ï2¤Ä¤Î°ú¿ô¤ò¤È¤ë¤¬¡¢1¤ÄÌܤ˳«¤¯ÂоݤÎFSRef¤¬¤¢¤ì¤Ð¤è¤¤¡£2¤ÄÌܤΰú¿ô¤Ï¡¢¼ÂºÝ¤Ë³«¤¤¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ø¤ÎFSRef¤¬Ìᤵ¤ì¤ë¡£¤¿¤È¤¨¤Ð¡¢Ê¸½ñ¥Õ¥¡¥¤¥ë¤ò³«¤¯¤È¤½¤Îʸ½ñ¥Õ¥¡¥¤¥ë¤ò³«¤¤¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ø¤Î»²¾È¤¬ÆÀ¤é¤ì¤ë¡£¤¿¤À¤·¡¢¤½¤Î»²¾È¤¬ÉÔÍפʾì¹ç¤Ë¤Ï¡¢NULL¤ò»ØÄꤹ¤ë¡£µ¯Æ°½èÍý¤ÏÈóƱ´ü¤Ë¹Ô¤ï¤ì¤ë¡£µ¯Æ°½èÍý¤ËÆþ¤ê¡¢¸Æ¤Ó½Ð¤·Â¦¤Ç¤Ï¤¹¤°¤ËLSOpenFSRef¤Î¼¡¤Ë¼Â¹Ô¤¬°Ü¤ë¡£µ¯Æ°¤¹¤ë¤Þ¤ÇÂԤĤȤ¤¤¦Æ°ºî¤ò¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢°Ê²¼¤ÇÀâÌÀ¤¹¤ëLSOpenFromRefSpec¤È¤¤¤¦API¥³¡¼¥ë¤òÍøÍѤ¹¤ë¡£ÈóƱ´ü¤Ç¤Îµ¯Æ°¤Ç¤â¡¢µ¯Æ°¤·¤¿¤³¤È¤òÃΤ餻¤ë¤È»×¤ï¤ì¤ëNotifiy¤Î»ÅÁȤߤ¬¤É¤¦¤ä¤é¤¢¤ë¤è¤¦¤À¤¬¡¢LaunchServices.h¤ò¸«¤ë¸Â¤ê¤Ç¤Ï¤½¤Î»È¤¤Êý¤Ï¾Ü¤·¤¯¤Ï½ñ¤¤¤Æ¤¤¤Ê¤¤¡£
¥×¥í¥°¥é¥à¤Ç¤Ï¡¢TextEdit¤òµ¯Æ°¤¹¤ë¤è¤¦¤Ëºî¤Ã¤Æ¤ß¤¿¡£TextEdit¼«ÂΤò¤É¤¦¤ä¤Ã¤Æ»²¾È¤¹¤ë¤«¤À¤¬¡¢Åö½é¤ÏFindFolder¤äFSFindFolder¤ò»È¤Ã¤Æ¡¢Applications¥Õ¥©¥ë¥À¤ò»²¾È¤·¤Æ¡¢¤½¤³¤«¤é¥Õ¥¡¥¤¥ë̾¤Ç»ØÄê¤ò¤·¤è¤¦¤È¹Í¤¨¤¿¡£¤·¤«¤·¡¢FindFolder¤äFSFindFolder¤Î¤¤¤º¤ì¤â¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥Õ¥©¥ë¥À¤Ø¤Î»²¾È¤òÆÀ¤è¤¦¤È¤·¤Æ¤â¥¨¥é¡¼¤¬¤Ç¤ÆÆÀ¤é¤ì¤Ê¤«¤Ã¤¿¡£¤½¤³¤Ç¡¢¥Õ¥ë¥Ñ¥¹¤òµ½Ò¤·¤Æ¤½¤³¤«¤éFSRef¤òÆÀ¤ëFile Manager¤ÎAPI¤Î1¤ÄFSPathMakeRef¤ò»È¤Ã¤Æ¡¢TextEdit¤Ø¤Î»²¾È¤òÆÀ¤¿¡£¤Ê¤ª¡¢FSPathMakeRef¤Î°ú¿ô¤ÏUTF-8¤Îʸ»úÎó¤ò»ØÄꤷ¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤Î¤ÇÃí°Õ¤¬É¬ÍפÀ¡£TextEdit¤À¤È¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤À¤±¤Î¥Ñ¥¹¤Ê¤Î¤Ç¡¢º£²ó¤ÎÎã¤Ç¤Ïµ¤³Ú¤ËÍøÍѤǤ¤ë¡£
¼¡¤Ë¡¢³«¤¯¥Õ¥¡¥¤¥ë¤È¤½¤ì¤Ë»È¤¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÊÌ¡¹¤Ë»ØÄꤹ¤ëLSOpenFromRefSpec¤È¤¤¤¦API¥³¡¼¥ë¤ò»È¤Ã¤Æ¤ß¤¿¡£¼ÂºÝ¤ÎÎ㤬¡¢LaunchDocumentWithApp´Ø¿ô¤ËµºÜ¤·¤Æ¤¤¤ë¡£LSOpenFromRefSpec¤â°ú¿ô¤Ï2¤Ä¤À¤±¤À¤¬¡¢1¤ÄÌܤËLSLaunchFSRefSpec¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤ò»ØÄꤹ¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¤³¤Î¹½Â¤ÂΤˡ¢³«¤¯¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ä¡¢³«¤¯Ê¸½ñ¤Ê¤É¤¤¤í¤¤¤í¤Ê¤â¤Î¤ò»ØÄꤹ¤ë¡£¼ÂºÝ¤Î»ØÄêÊýË¡¤Ï¡¢LaunchDocumentWithApp´Ø¿ô¤Î¥×¥í¥°¥é¥à¤ò»²¾È¤·¤Æ¤â¤é¤¤¤¿¤¤¡£¤³¤³¤Ç¡¢³«¤¯Ê¸½ñ¤¬Ê£¿ô¤¢¤ë¾ì¹ç¤Ë¤âÂбþ¤·¤Æ¤¤¤ë¡£¤½¤Î¤È¤¤Ï¡¢FSRef¤¬Ï¢Â³¤·¤ÆÆþ¤Ã¤Æ¤¤¤ë¥á¥â¥ê¡¼¥Ö¥í¥Ã¥¯¤Î¥Ý¥¤¥ó¥¿¤ò»ØÄꤷ¡¢¤¤¤¯¤Ä¤ÎFSRef¤¬¤¢¤ë¤Î¤«¤â¹½Â¤ÂΤÎÊ̤Υá¥ó¥Ð¡¼¤Ë»ØÄê¤ò¤¹¤ë¡£¤³¤ÎFSRef¤ÎϢ³¤·¤¿¤â¤Î¤Ï¡¢FSRef¤ÎÇÛÎó¤Ç¤¢¤ë¡£¥¤¥á¡¼¥¸Åª¤Ë¤Ï¡¢1¤Ä¤ÎFSRef¤¬80¥Ð¥¤¥È¤Ç¤¢¤ë¤Î¤Ç¡¢¤½¤Î80¥Ð¥¤¥È¤Î¥á¥â¥ê¥Ö¥í¥Ã¥¯¤¬¥Õ¥¡¥¤¥ë¤Î¿ô¤À¤±Ê¤ó¤Ç¤¤¤ë¤È»×¤¨¤Ð¤è¤¤¡£¤¿¤È¤¨¤Ð¡¢3¤Ä¤Î¥Õ¥¡¥¤¥ë¤ò³«¤¯ÍѤ˻ØÄꤷ¤Æ¤¤¤ì¤Ð¡¢240¥Ð¥¤¥È¤Î¥á¥â¥êÎΰè¤ò³ÎÊݤ·¤Æ¤ª¤¡¢¤½¤ÎÀèƬ¤Î¥¢¥É¥ì¥¹¤ò»ØÄꤹ¤ì¤Ð¤¤¤¤¤È¤¤¤¦¤³¤È¤À¡£
LSLaunchFSRefSpec¹½Â¤ÂΤÎlaunchFlags¤È¤¤¤¦¥á¥ó¥Ð¤Ë¤Ï¡¢LSLaunchFlags¤È¤¤¤¦·¿¤ÇÄêµÁ¤µ¤ì¤¿Ãͤò»ØÄꤹ¤ë¤¬¡¢ÍפÏÄêµÁ¤µ¤ì¤Æ¤¤¤ëÄê¿ô¤ò¤½¤Î¤Þ¤Þ¤¢¤ë¤¤¤Ï²Ã»»¤·¤Æ»ØÄꤹ¤ì¤Ð¤½¤ì¤Ç¤è¤¤¡£¤³¤ì¤â¡¢¾Ü¤·¤¯¤ÏLaunchServices.h¤ò»²¾È¤·¤Æ¤â¤é¤¤¤¿¤¤¡£¤¿¤È¤¨¤Ð¡¢µ¯Æ°¤¹¤ë¤±¤É¤¹¤°¤ËÇظå¤Ë±£¤ì¤ë¤è¤¦¤Ë¤¹¤ë¤È¤¤¤¦ÄêµÁÄê¿ô¤ä¡¢Info.plist¤ÎÀßÄê¤ò̵»ë¤¹¤ë¤È¤¤¤Ã¤¿ÄêµÁÄê¿ô¤â¸«¤é¤ì¤ë¡£¤Ê¤ª¡¢kLSLaunchDefaults¤À¤È¡¢ÈóƱ´ü¤Ç¤Îµ¯Æ°¤Ç¡¢µ¯Æ°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Îinfo.plist¥Õ¥¡¥¤¥ë¤ÎÀßÄê¤Ë½¾¤¦¤È¤¤¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£µ¯Æ°¤¹¤ë¤Þ¤ÇÂԤĤ褦¤Ë½èÍý¤·¤¿¤¤¤Î¤Ê¤é¡¢¤¿¤È¤¨¤Ð¡¢launchFlags¤Ë0¤òÀßÄꤹ¤ë¤³¤È¤Ç¡¢ÈóƱ´ü¤Î¥Õ¥é¥°¤òÍî¤È¤·¤Æ¼Â¹Ô¤¹¤ì¤Ð¤è¤¤¡£
¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Îmain´Ø¿ô¦¤Ç¤Ï¡¢Navigation Services¤Î¥Õ¥¡¥¤¥ëÁªÂò¥À¥¤¥¢¥í¥°¥Ü¥Ã¥¯¥¹¤òɽ¼¨¤·¡¢³«¤¯¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤òTextEdit¤Ç³«¤¯¤È¤¤¤¦¤è¤¦¤Ë¥×¥í¥°¥é¥à¤òºî¤Ã¤Æ¤¤¤ë¡£¥Õ¥¡¥¤¥ëÁªÂò¥À¥¤¥¢¥í¥°¥Ü¥Ã¥¯¥¹¤Ç¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤Ë¤âÂбþ¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£NavChooseFile¤Î°ú¿ô»ØÄê¤ÏºÇÄã¸Â¤·¤«»ØÄꤷ¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢¥¿¥¤¥È¥ë¥Ð¡¼¤â¤Ç¤Æ¤³¤Ê¤¤¤¬¤½¤Î¤¢¤¿¤ê¤Ï¤ªµö¤·´ê¤¤¤¿¤¤¡£FSRef¤ÎÇÛÎó¤ÎÆþ¤Ã¤¿¥á¥â¥ê¥Ö¥í¥Ã¥¯¤ò¹½ÃÛ¤¹¤ë¤¢¤¿¤ê¤¬¡¢C¸À¸ì¤ÎÊ£»¨¤Ê¤È¤³¤í¤Ç¡¢¥Ý¥¤¥ó¥¿½èÍý¤ÈÇÛÎó¤ÎϢư¤ò¤¦¤Þ¤¯ÁȤ߹þ¤Þ¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤È¤³¤í¤À¡£
¤µ¤é¤Ë¡¢»ØÄꤷ¤¿URL¤ò³«¤¯LSOpenCFURLRef¤È¤¤¤¦API¥³¡¼¥ë¤ò»È¤Ã¤¿¤Î¤¬OpenURL¤È¤¤¤¦´Ø¿ô¤À¡£URL¤Ç¤Ï¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Æ¤â¤¤¤¤¤¬¡¢°ìÈ̤ˤÏWeb¥µ¥¤¥È¤Ê¤É¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤Ê¤ë¤À¤í¤¦¡£http://¤Ç»Ï¤Þ¤ëURL¤ò»ØÄꤹ¤ë¤È¡¢¥·¥¹¥Æ¥à¦¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥Ç¥Õ¥©¥ë¥È¤ÎWeb¥Ö¥é¥¦¥¶¤ò»È¤Ã¤Æ¡¢¤½¤Î¥µ¥¤¥È¤ò³«¤¯¤³¤È¤¬¤Ç¤¤ë¡£Mac OS 9.1¤Þ¤Ç¤ÏInternetConfig¤ÎAPI¤ò»È¤Ã¤Æ¤¤¤¿¤«¡¢¤¢¤ë¤¤¤ÏAppleEvent¤òÍøÍѤ·¤Æ¤¤¤¿¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢InternetConfig¤ÎAPI¤Ï¤Á¤ç¤Ã¤ÈÆÈÆäÀ¤Ã¤¿¤Î¤Ç»×¤ï¤º¤Ò¤ë¤ó¤Ç¤·¤Þ¤¦¤È¤³¤í¤À¤Ã¤¿¡£¤À¤±¤É¤â¡¢Launch Services¤ò»È¤¦¤È¡¢´Êñ¤ËURL¤ò¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¥é¥¦¥¶¤Ç³«¤¯¤³¤È¤¬¤Ç¤¤ë¡£LSOpenCFURLRef¤Ë¤Ï°ú¿ô¤¬2¤Ä¤¢¤ë¤¬¡¢1¤ÄÌܤ˳«¤¯URL¤ò»ØÄꤹ¤ë¡£2¤ÄÌܤˤϥ١¼¥¹¤Ë¤Ê¤ëURL¤ò»ØÄꤹ¤ë¤¬¡¢1¤ÄÌܤËÀäÂл²¾È¤ò»ØÄꤹ¤ë¤Î¤Ê¤é2¤ÄÌܤÏNULL¤Ç¤«¤Þ¤ï¤Ê¤¤¡£CFURL¤Ï¡¢CFURLCreateWithString¤ò»È¤¨¤ÐCFString¤«¤é´Êñ¤ËÊÑ´¹¤Ç¤¤ë¡£¤³¤³¤Ç¤ÏCFSTR¥Þ¥¯¥í¤ò»È¤Ã¤ÆCFString¤òÀ¸À®¤·¤Æ¤¤¤ë¤¬¡¢C¤äPascalʸ»úÎ󤫤éCFString¤òÆÀ¤ë¤Ë¤Ï¡¢CFStrinCreateWithCString¤äCFStringCreateWithPacalString¤Ê¤É¤ÎAPI¥³¡¼¥ë¤ò»È¤¨¤Ð¤è¤¤¤À¤í¤¦¡£¡ÖNoCopy¡×¤Î̾Á°¤ÎÉÕ¤¤¤¿API¥³¡¼¥ë¤â¤¢¤ë¤Î¤Ç¡¢¤½¤Î¤¢¤¿¤ê¤Î»È¤¤Ê¬¤±¤ÏCore Foundation¤Î¥É¥¥å¥á¥ó¥È¤ò»²¾È¤·¤Æ¤â¤é¤¤¤¿¤¤¡£
°Ê¾å¤Î¤è¤¦¤Ë¡¢Ã±¤ËÊ̤Υ¢¥×¥ê¥±¡¼¥·¥ç¥ó¤äʸ½ñ¤¢¤ë¤¤¤ÏURL¤ò³«¤¯¤À¤±¤Ê¤é¡¢¤¿¤¤¤·¤ÆÆñ¤·¤¤¥×¥í¥°¥é¥à¤ÏɬÍפϤʤ¤¡£¤¿¤À¡¢Launch Services¤¬Mac OS X¤Ç¤·¤«ÍøÍѤǤ¤Ê¤¤¤Î¤Ç¡¢CarbonÂбþ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤â¡¢Mac OS X¤Ê¤Î¤«Mac OS 9¤Þ¤Ç¤Ê¤Î¤«¤Ç½èÍý¤òʬ¤±¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤À¤í¤¦¡£Mac OS 9¤Þ¤Ç¤Î¾ì¹ç¤Ë¤Ï¡¢°ÊÁ°¤Þ¤Ç¤Ë»È¤ï¤ì¤Æ¤¤¤¿¥×¥í¥°¥é¥à¤ò»È¤¤¡¢Mac OS X¤ËÂбþ¤¹¤ë¤È¤¤Ë¤½¤ÎÉôʬ¤ËLaunch Services¤ò¤Ä¤«¤Ã¤¿¤â¤Î½ñ¤Â¤¹¤È¤¤¤¦»È¤¤Êý¤â¤Ç¤¤ë¤À¤í¤¦¡£
¥«¥Æ¥´¥ê¡§¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹, Browsing Mac OS X
Project Builder¤Ç¡¢¿·¤¿¤Ê¥×¥í¥¸¥§¥¯¥È¤ò¡¢Cocoa Application¤Î¥Æ¥ó¥×¥ì¡¼¥È¤ò»È¤Ã¤ÆºîÀ®¤¹¤ë¡£¤½¤·¤Æ¡¢ºîÀ®¤µ¤ì¤¿¥×¥í¥¸¥§¥¯¥È¤Ë¤¢¤ëmain.c¤ÎÆâÍƤò°Ê²¼¤Î¥×¥í¥°¥é¥à¤Ë¤½¤Ã¤¯¤ê¤½¤Î¤Þ¤ÞÆþ¤ìÂؤ¨¤ì¤Ð¡¢ÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
/* main.c */
#include
OSStatus LaunchItem(FSRef * app);
OSStatus LaunchDocumentWithApp(FSRef * doc, UInt32 nDocs, FSRef * app);
OSStatus OpenURL(CFStringRef urlStr);
/* 3¼ïÎà¤Î¥×¥í¥°¥é¥à¤òÍÑ°Õ¤·¤¿¤¬¡¢°Ê²¼¤Î3¹Ô¤Îdefine¤Î¤¦¤Á¡¢1¤Ä¤À¤±
¥³¥á¥ó¥È¤ò¤Ï¤º¤¹¤è¤¦¤Ë¤·¤Æ¤É¤Î¥×¥í¥°¥é¥à¤òÆ°¤«¤¹¤«¤ò·è¤á¤ë¡£¡¡*/
//#define Try1
#define Try2
//#define Try3
int main(int argc, char *argv[])
{
OSStatus er;
FSRef editTextRef;
char path[256];
#ifdef Try2
NavReplyRecord reply;
UInt32 itemsInList;
FSRef* docArray;
AEKeyword keywd;
DescType returnedType;
Size actualSize;
int i;
#endif
LSInit(kLSInitializeDefaults); //Launch Services¤Î½é´ü²½¡¢°ú¿ô¤Ï¤³¤ì¤ò»ØÄꤷ¤í¤È¤Ê¤Ã¤Æ¤¤¤ë
strcpy(path, "/Applications/TextEdit.app"); //TextEdit¤Ø¤Î¥Ñ¥¹¤òµ½Ò
er = FSPathMakeRef(path, & editTextRef, NULL); //TextEdit¤Ø¤ÎFSRef¤ò¼èÆÀ
#ifdef Try1
er = LaunchItem(&editTextRef);
#endif
#ifdef Try2
er = NavChooseFile(NULL, &reply, NULL, NULL, NULL, NULL, NULL, NULL);
//¥Õ¥¡¥¤¥ë¤òÁªÂò¤¹¤ë¥À¥¤¥¢¥í¥°¥Ü¥Ã¥¯¥¹¤òɽ¼¨¤¹¤ë
if(reply.validRecord) { //Cancel¤¬²¡¤µ¤ì¤Æ¤¤¤Ê¤¤¤Ê¤é
er = AECountItems(&reply.selection, &itemsInList); //¥Õ¥¡¥¤¥ëÁªÂò¤·¤¿¸Ä¿ô
docArray = (FSRef*)NewPtr(sizeof(FSRef)*itemsInList); //³Æ¥Õ¥¡¥¤¥ë¤Ø¤ÎFSRef¤òǼ¤á¤ëÎΰè¤ò³ÎÊÝ
for ( i=1 ; i<= itemsInList ; i++) {
er = AEGetNthPtr(&reply.selection, i, typeFSRef, &keywd, &returnedType,
&docArray[i-1], sizeof(FSRef), &actualSize);
//¥Õ¥¡¥¤¥ë¤ÎÁªÂò·ë²Ì¤«¤éFSRef¤È¤·¤Æ¼è¤ê½Ð¤·¤Æ¡¢¥á¥â¥ê¤ËÊÝ»ý¤¹¤ë
}
LaunchDocumentWithApp(docArray, itemsInList, &editTextRef);
DisposePtr((Ptr)docArray);
}
#endif
#ifdef Try3
OpenURL(CFSTR("http://cserver.locus.co.jp/mdo.html"));
#endif
LSTerm();
return 0;
}
OSStatus LaunchItem(FSRef * app) {
OSStatus er;
er = LSOpenFSRef(app, NULL); //°ú¿ô¤Î¥Õ¥¡¥¤¥ë¤ò³«¤¯
return er;
}
OSStatus LaunchDocumentWithApp(FSRef * doc, UInt32 nDocs, FSRef * app) {
OSStatus er;
LSLaunchFSRefSpec inLaunchSpec;
inLaunchSpec.appRef = app; //µ¯Æ°¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
inLaunchSpec.numDocs = nDocs; //³«¤¯Ê¸½ñ¤Î¿ô
inLaunchSpec.itemRefs = doc; //ʸ½ñ¥Õ¥¡¥¤¥ë¤ÎFSRef¤ÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿
inLaunchSpec.passThruParams = NULL; //ÄɲäΥѥé¥á¡¼¥¿¤Ï¤Ê¤Ê¤·
inLaunchSpec.launchFlags = kLSLaunchDefaults; //µ¯Æ°¤ÎÆ°ºî¤Ï¥Ç¥Õ¥©¥ë¥È
inLaunchSpec.asyncRefCon = NULL; //¤³¤Î°ú¿ô¤â»È¤ï¤Ê¤¤
er = LSOpenFromRefSpec(&inLaunchSpec, NULL); //ʸ½ñ¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç³«¤¯
return er;
}
OSStatus OpenURL(CFStringRef urlStr) {
OSStatus er;
CFURLRef thisURL;
thisURL = CFURLCreateWithString(kCFAllocatorDefault, urlStr, NULL);
//CFString¤«¤éCFURL¤ËÊÑ´¹
er = LSOpenCFURLRef(thisURL, NULL); //URL¤ò³«¤¯
return er;
}
¥«¥Æ¥´¥ê¡§
Real Software¤Ï¡¢Mac OS X¤ËÂбþ¤·¤¿³«È¯¥Ä¡¼¥ëREALbasic 3.1¤òÀµ¼°¤Ë½Ð²Ù¤·¤¿¡£¤³¤ì¤Þ¤Ç¤Ï¥Ù¡¼¥¿ÈǤȤ·¤Æ¥ê¥ê¡¼¥¹¤µ¤ì¤Æ¤¤Æ¤¤¤¿¡£Ver.3.0¤Î¥æ¡¼¥¶¤Ï¤½¤Î¤Þ¤Þ¥·¥ê¥¢¥ëÈÖ¹æ¤òÍøÍѤǤ¤ë¡£Ver.3.0¤ÇMac OS XÂбþ¤·¡¢Carbon¤ò¥Ù¡¼¥¹¤Ë²ÔƯ¤¹¤ëÅý¹ç³«È¯´Ä¶¤òÍøÍѤǤ¡¢¤Þ¤¿¡¢Carbon¤Ç²ÔƯ¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎºîÀ®¤â¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£¤·¤«¤·¤Ê¤¬¤é¡¢Mac OS X Public Beta¤·¤«È¯Ç䤵¤ì¤Æ¤¤¤Ê¤¤¾õ¶·¤Ç¤ÎREALbasic 3.0¤Î¥ê¥ê¡¼¥¹¤À¤Ã¤¿¤¿¤á¤Ë¡¢Àµ¼°½Ð²ÙÈǤÎMac OS X 10.0¤Ç¤Ç¤ÏºÇŬ²½¤µ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¤¿¤á¡¢µÞî±Ver.3.1¤Î³«È¯¤¬¿Ê¤á¤é¤ì¤¿¡£Mac OS X¤ÇREALbasic¤ò»È¤¦¥æ¡¼¥¶¤Ïɬ¤º3.1¤Ë¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë¤è¤¦¤Ë¤¹¤¹¤á¤é¤ì¤Æ¤¤¤ë¡£¤Ê¤ª¡¢ÆüËܸìÈǤˤĤ¤¤Æ¤ÎÇÛÉÛ»þ´ü¤Ê¤É¤Î¥¢¥Ê¥¦¥ó¥¹¤Ë¤Ä¤¤¤Æ¤Ï¤Þ¤À¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
´ØÏ¢¥ê¥ó¥¯¡§REALbasic: Current Release
¥«¥Æ¥´¥ê¡§REALbasic
QuickTime 5¤ÈQuickTime Streaming Server 3¤¬Àµ¼°¤Ëȯɽ¤µ¤ì¤¿¡£QuickTime 5¤Î±Ñ¸ìÈǤÏÇÛÉÛ¤¬³«»Ï¤µ¤ì¤Æ¤¤¤ë¡£³Æ¹ñ¸ìÈǤˤĤ¤¤Æ¤Ï2001ǯ5·î¤Ë¥ê¥ê¡¼¥¹Í½Äê¤À¡£QuickTime Streaming Server 3¤Ï¡¢5·î¤Ë¥ê¥ê¡¼¥¹¤µ¤ì¤ë¡£¤¤¤º¤ì¤â¡¢¥×¥ì¥Ó¥å¡¼ÈǤȤ·¤Æ¤¹¤Ç¤Ë¥ê¥ê¡¼¥¹¤µ¤ì¤Æ¤¤¤ë¤¬¡¢Àµ¼°ÈǤ¬Åо줹¤ë¤³¤È¤È¤Ê¤Ã¤¿¡£¤Ê¤ª¡¢Mac OS X 10.0¤Ë¤ÏQuickTime 5¤¬Åö½é¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¡£º£²óÇÛÉÛ¤µ¤ì¤¿¤Î¤Ï¡¢Mac OS 9.1¤Þ¤Ç¤Î¥·¥¹¥Æ¥à¤Ç»ÈÍѤǤ¤ëQuickTime 5¤Ç¤¢¤ë¡£
QuickTime 5¤Ç¤Ï¥¨¥ó¥³¡¼¥É¤Î²þÎɤʤɤ⤢¤ë¤¬¡¢Â礤ÊÃì¤ÏCubic VR Movie¤È¡¢SkinÂбþ¤È¤¤¤¨¤ë¤À¤í¤¦¡£Cubic VR¤Ï¡¢VR¥à¡¼¥Ó¡¼¤ò180Å٤λëÌ¤é¤µ¤é¤Ë¾å²¼Êý¸þ¤Î»ëÌî¤âÁý¤ä¤·¤Æ360ÅÙ¤ÎÊý¸þ¤ò¸«¤ë¤³¤È¤Ç¤¤ë¤È¤¤¤Ã¤¿¤â¤Î¤À¡£¤¤¤Þ¤Þ¤Ç¤ÎVR¥à¡¼¥Ó¡¼¤Ï±¦¤äº¸¤ËÊý¸þ¤òÊѤ¨¤ë¤³¤È¤¬¤Ç¤¤¿¤¬¡¢¾å¤ò¸þ¤¤¤¿¤ê²¼¤ò¸þ¤¯¤È¤¤¤¦¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ë¤Î¤Ç¤¢¤ë¡£Skin¤ÏMP3¥×¥ì¥¤¥ä¤Ç¤ª¤Ê¤¸¤ß¤Îµ¡Ç½¤À¤¬¡¢QuickTime 5¤ÎSkin¤Ï¾¯¤·¥Ë¥å¥¢¥ó¥¹¤¬°ã¤Ã¤Æñ¤Ë¥×¥ì¥¤¥ä¤Î¾þ¤êÉÕ¤±¤Ç¤Ï¤Ê¤¤¡£Skin¼«ÂΤò¥à¡¼¥Ó¡¼¤ËÆþ¤ì¤Æ¥³¥ó¥Æ¥ó¥Ä¤Î°ìÉô¤È¤·¤ÆSkin¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£¤Þ¤¿¡¢AppleScript¤ÈÁȤ߹ç¤ï¤»¤ë¤³¤È¤Ë¤è¤ê¡¢QuickTime Player¤Ç¤µ¤Þ¤¶¤Ê¥ª¡¼¥µ¥ê¥ó¥°µ¡Ç½¤òÍøÍѤǤ¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£¤Ä¤Þ¤ê¡¢Skin¤ÇÆȼ«¤Î¥ª¡¼¥µ¥ê¥ó¥°¤·¤¿¥³¥ó¥Æ¥ó¥Ä¤òºîÀ®¤Ç¤¤ë¤è¤¦¤Ë¤â¤Ê¤ë¤Î¤Ç¤¢¤ë¡£¤¤¤º¤ì¤â¡¢QuickTime¤ÎÍøÍѼԤˤϤ¹¤°¤Ë¤Ï¥á¥ê¥Ã¥È¤È¤·¤Æ¤ÏÆÀ¤é¤ì¤Ê¤¤¤³¤È¤Ç¤Ï¤¢¤ë¤¬¡¢³«È¯¼Ô¤äÀ©ºî¼Ô¤Ë¤È¤Ã¤Æ¤Ï¿·¤·¤¤¼êÃʤ¬Áý¤¨¤¿ÅÀ¤Ï¥Á¥§¥Ã¥¯¤ò¤·¤Æ¤ª¤¯¤Ù¤¤È¤³¤í¤À¤í¤¦¡£
QuickTime Streaming Server 3¤Ç¤Ï¡¢Skip Protection¤È¤·¤Æ¥¹¥È¥ê¡¼¥ß¥ó¥°¤¬¤È¤®¤ì¤¬¤Á¤Ç¤âÉʼÁ¤òÊݤĵ¡Ç½¤ä¡¢Web¥Ù¡¼¥¹¤Ç¤Î´ÉÍýµ¡Ç½¤Ê¤É¤¬Äɲ䵤ì¤Æ¤¤¤ë¡£¥ª¡¼¥×¥ó¥½¡¼¥¹¤ÇŸ³«¤·¤Æ¤¤¤ëDarwin Streaming Server 3¤â¥ê¥ê¡¼¥¹¤µ¤ì¡¢Linux¡¢FreeBDD¡¢Solaris 8¡¢Windows NT/2000¤òÆ°ºî´Ä¶¤È¤·¤Æ¥µ¥Ý¡¼¥È¤¹¤ë¡£
´ØÏ¢¥ê¥ó¥¯¡§Apple Announces QuickTime 5 and QuickTime Streaming Server 3
¥«¥Æ¥´¥ê¡§QuickTime
Raphael Sebbe»á¤¬¸ø³«¤·¤¿¡ÖHexEditor 1.1¡×¤Ï¡¢Mac OS X¤Ç²ÔƯ¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¡¢¥Õ¥¡¥¤¥ë¤ÎÆâÍƤò16¿Êɽ¼¨¤¹¤ë¤â¤Î¤À¡£¤Þ¤¿¡¢ÆâÍƤν¤Àµ¤â¤Ç¤¤ë¤¬¡¢16¿Ê¿ô¤À¤±¤Ç¤Ê¤¯¡¢10¿Ê¿ô¤äÊ£¿ô¤Î¥Ç¡¼¥¿¥Ð¥¤¥È¤ò¤Þ¤È¤á¤ÆÉâÆ°¾®¿ôÅÀ¿ô¡¢¤¢¤ë¤¤¤Ïʸ»úÎó¤È¤·¤Æ½¤Àµ¤¬¤Ç¤¤ë¤Ê¤É¡¢¼ÂÍÑÅ٤Ϥʤ«¤Ê¤«¹â¤¤¡£¤Þ¤¿¡¢¥Õ¥¡¥¤¥ëÃæ¤Î´Á»úʸ»úÎó¤Ë¤Ä¤¤¤Æ¤Ï16¿Êɽ¼¨Éôʬ¤Ç¤ÏÁ°¸å¤Î¥Ð¥¤¥È¤Ëʬ¤«¤ì¤Æ¤·¤Þ¤¦¤â¤Î¤Î¡¢¥Æ¥¥¹¥ÈÊÔ½¸¤Ç¤Ï´Á»ú¤È¤·¤Æɽ¼¨¤·¡¢¤µ¤é¤Ë½¤Àµ¤Þ¤Ç¤Ç¤¤Æ¤·¤Þ¤¦¡£¥×¥í¥°¥é¥ß¥ó¥°¤¢¤ë¤¤¤Ï²òÀϤΤȤ¤Ë¤Ï¡¢¤³¤¦¤·¤¿16¿Ê¿ô¤Ç¥Õ¥¡¥¤¥ë¤ÎÃæ¿È¤ò»²¾È¤Ç¤¤ë¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤¬¤¢¤ë¤È¡¢¼ÂºÝ¤Ë½ñ¤¹þ¤Þ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤¬¤½¤Î¤Þ¤Þ¸«¤é¤ì¤ë¤³¤È¤â¤¢¤Ã¤ÆÊØÍø¤Ê¾ì¹ç¤â¤¢¤ë¤À¤í¤¦¡£
´ØÏ¢¥ê¥ó¥¯¡§MacOS X - Programming Examples
¥«¥Æ¥´¥ê¡§¥æ¡¼¥Æ¥£¥ê¥Æ¥£
Tech Info Library¤Ë¡¢Mac OS X´ØÏ¢¤Î¥¢¥Ã¥×¥Ç¡¼¥È¤ÎÊѹ¹ÅÀ¤¬¤Þ¤È¤á¤é¤ì¤¿Ê¸½ñ¤¬·ÇºÜ¤µ¤ì¤¿¡£Software Update 1.3.1¤Ï¡¢¥À¥¦¥ó¥í¡¼¥É½èÍý¤ÎÉüµ¢¤ä¥×¥í¥¥··Ðͳ¤Î¥À¥¦¥ó¥í¡¼¥É¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î²þÎɤ¬¹Ô¤ï¤ì¤¿¡£10.0.1 Update¤Ç¤Ï¡¢iTunes¤Î½èÍýǽÎϤθþ¾å¡¢¥µ¡¼¥É¥Ñ¡¼¥Æ¥£¤ÎUSB¤äFireWire¥Ç¥Ð¥¤¥¹¤òÍøÍѤ¹¤ëºÝ¤ÎÀǽ¸þ¾å¡¢SSH¤Ë¤è¤ê¥ê¥â¡¼¥ÈÀܳ¡¢Classic´Ä¶¤Î²þÎÉ¡¢AFP¥Ü¥ê¥å¡¼¥à¤ËÂФ¹¤ë¸ß´¹À¤Î¸þ¾å¤È¤Ê¤Ã¤Æ¤¤¤ë¡£
´ØÏ¢¥ê¥ó¥¯¡§Mac OS X 10.0: Software Update 1.3.1, 10.0.1 Update, and Epson Printer Driver Update Provide Feature Enhancement, Address Issues
¥«¥Æ¥´¥ê¡§Knowledge Base¡ÊµìTIL¡Ë, Mac OS X