¸®´ª½º ±âŸ ÀÚ·á

HomePage Backward Forward Post Reply List
Delete Modify
  Á¦¸ñ   X-Windows Programming #2 1998/07/04 (16:26)
À̸§ ±èÈ¿¿ø
¹øÈ£ 41
Á¶È¸ 272
º»¹®
¡º¸®´ª½º Çдç-¸®´ª½º °­Á / ¿¬Àç (go LINUX)¡» 226¹ø
Á¦  ¸ñ:[°­Á 02] X ÇÁ·Î±×·¡¹Ö ±âÃÊ : Xlib                          
¿Ã¸°ÀÌ:geoman  (À̸¸¿ë  )    96/03/22 01:09    ÀÐÀ½:2492 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------


¿ì¸® °ç¿¡ ÀÖ´Â ¸®´ª½º¿¡ ´ëÇؼ­ ÇÑ ¹ø »ý°¢Çغ¾½Ã´Ù. ´Ù¸¥ »ó¿ë OSµé°ú´Â ´Þ¸®
Á¤¸»·Î ÀÚÀ¯·Î¿î ¿î¿µÃ¼Á¦ÀÎ µ¿½Ã¿¡, ¾î´À ´©±¸µµ ÈìÀâÀ» µ¥ ¾øÀ» ¸¸Å­ ÈǸ¢ÇÑ ¿î¿µ
üÁ¦ÀÔ´Ï´Ù. ±×·¯ÇÑ ÀÌÀ¯´Â ¹«¾ùÀϱî¿ä? Àú´Â °ú¿¬ ÀÚº»ÁÖÀÇ »çȸ¿¡¼­ ÀÌ·¯ÇÑ ÈǸ¢
ÇÑ ¿î¿µÃ¼Á¦°¡ ÀÌÀÍÀ» À§Çؼ­°¡ ¾Æ´Ï¶ó ÀÚ½ÅÀÇ ¸í¿¹¿Í ÀÌŸ½É¿¡¼­ ºñ·ÔµÉ ¼ö ÀÖ´Ù´Â
»ç½Ç¿¡ ¸Å¹ø °¨ÅºÇÕ´Ï´Ù. ±×¸®°í ¸®´ª½º´Â GNU ÄÄÆÄÀÏ·¯¶ó´Â ¸ÚÁø ÄÄÆÄÀÏ·¯¿Í ÇÔ²²
¿ì¸® °ç¿¡ ¿Í ÀÖ½À´Ï´Ù. ±×·¡¼­ ¿ì¸®´Â ¸¶À½²¯ ¸®´ª½º¸¦ »ç¿ëÇÏ´Ù°¡ ¹®µæ ³ª ÀÚ½Å
½º½º·Î°¡ ¹«¾ð°¡¸¦ ¸¸µé¾î¼­ ¾²°í ½ÍÀ» ¶§´Â ÀÌ°Í ¶ÇÇÑ µ·°ú ½Ã°£À» µéÀÏ ÇÊ¿ä¾øÀÌ
¹Ù·Î ¿ì¸® °ç¿¡ ÀÖ½À´Ï´Ù.
¿ì¸®´Â ¾ÆÁÖ ¼Õ½±°Ô X À©µµ¿ì ÇÁ·Î±×·¥À» ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ¸ðµç Á¶°ÇÀÌ °®Ãß¾îÁ®
ÀÖ°í ÇÊ¿äÇÑ °ÍÀº ´ÜÁö Àú¿Í ¿©·¯ºÐÀÇ ÀÇÁö »ÓÀÔ´Ï´Ù. ¿ì¸®°¡ ¼¼»óÀÇ ¸¹Àº ¾Æ¸¶Ãß¾î
ÇÁ·Î±×·¡¸Óµé¿¡°Ô µµ¿ò ¹ÞÀº °ÍÀ» ´Ù½Ã ´Ù¸¥ ¸ðµç »ç¶÷µé¿¡°Ô ÀüÆÄÇÒ ¼ö ÀÖ´Â ±âȸ
¶ó°í »ý°¢ÇÕ´Ï´Ù. X À©µµ¿ì ÇÁ·Î±×·¡¹ÖÀ¸·Î ¿©·¯ºÐ°ú ¿ì¸® ³ª¶ó, ¸®´ª½º¸¦ ºû³»ÁÝ
½Ã´Ù. Àú´Â ÀÌ·± Èñ¸ÁÀ» °¡Áö°í °­ÀǸ¦ ÁøÇàÇÏ°íÀÚ ÇÕ´Ï´Ù. :)


4) °£´ÜÇÑ Ã¢ Çϳª ¸¸µé¾î º¾½Ã´Ù.

ù¹ø° °­ÀÇ¿¡¼­ ¸¸µç ¿øÃÊÀû(?) ÇÁ·Î±×·¥Àº ´ÜÁö ¼­¹ö¿Í Á¢¼ÓÇÏÀÚ ¸¶ÀÚ Á¢¼ÓÀ»
²÷¾î¹ö¸®´Â °æ¿ì¿´½À´Ï´Ù. ±×·³, ÀÌÁ¦´Â ¼­¹ö¿¡ Á¢¼ÓÇÏ°í ³ª¼­ ¾ÆÁÖ °£´ÜÇÑ ÀÏÀ»
Çϳª ½ÃÄѺ¸µµ·Ï ÇսôÙ. ¹Ù·Î â Çϳª¸¦ ¸¸µé¾î¼­ Ç¥½ÃÇغ¸´Â °Ì´Ï´Ù.

¿¹Á¦ 2)

#include <X11/Xlib.h>

main()
{
Display *d ;
Window   w, root ;

d = XOpenDisplay(NULL) ;

root = XDefaultRootWindow (d);
w = XCreateSimpleWindow ( d, root, 50, 50, 400, 300,
 2, BlackPixel (d,0), WhitePixel(d,0) );
XMapWindow (d, w);
XFlush (d);

getchar();

XCloseDisplay (d);
}

À̹ø ¿¹Á¦¿¡¼­´Â Window ¶ó´Â »õ·Î¿î ÀÚ·áÇü°ú XDefaultRootWindow(), XCreateSim-
pleWindow(), XMapWindow(), XFlush() µîÀÇ »õ·Î¿î ÇÔ¼öµéÀÌ ³ª¿À´Â±º¿ä.
¾Ñ! BlackPixel(), WhitePixel()°ú °°Àº ¸ÅÅ©·Îµµ º¸À̴±º¿ä.
ÇÏÁö¸¸ ÀÌ ¸ÅÅ©·ÎµéÀº ³ªÁß¿¡ ¼³¸íµå¸®±â·Î ÇÏ°Ú½À´Ï´Ù. ÇÏ·ç¿¡ ³Ê¹« ¸¹Àº °ÍÀ» ¹è
¿ì¸é ¸Ó¸®°¡ ¾ÆÇÁÀݾƿä? :)


4-1) Window Çü º¯¼ö

¿ì¸®°¡ âÀ» ¸¸µé°í ½ÍÀ» ¶§´Â â Çϳª¸¶´Ù À§ÀÇ ¿¹¿¡¼­ ³ª¿Â Window Çü º¯¼ö Çϳª
°¡ ÇÊ¿äÇÏ´Ù°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù. Window Çü º¯¼ö Çϳª´Â ±× â¿¡ ´ëÇÑ ¸ðµç Á¤º¸
¸¦ Áö´Ï°í ÀÖ´Â º¹ÀâÇÑ ±¸Á¶Ã¼ Á¤µµ¶ó°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù. ¿¹»óÇÒ ¼ö ÀÖ´Â °ÍÀ¸·Î
´Â âÀÇ Å©±â, À§Ä¡, »ö»ó µîÀÌ ÀÖ½À´Ï´Ù.


4-2) â »ý¼º, Ç¥½Ã ...

Áö±ÝºÎÅÍ ¼³¸íµå¸®´Â ±âº»ÀûÀÎ ÀýÂ÷¸¦ ²À ¸Ó¸® ¼Ó¿¡ ³Ö¾îµÎ¼¼¿ä.
¾î¶² âÀ» ¸¸µéµçÁö ¿ì¸®´Â ¿ì¼±ÀûÀ¸·Î ±× â¿¡ ´ëÇÑ Á¤º¸¸¦ ÀúÀåÇÏ°í ÀÖÀ» º¯¼ö ÇÏ
³ª¸¦ ÀÌ¹Ì ¸¸µé¾î³õ¾ß¾ß ÇÕ´Ï´Ù. Áï Window Çü º¯¼ö Çϳª¸¦. ±× ´ÙÀ½ ¼­¹ö´õ·¯ âÀ»
Çϳª ¸¸µé°Ú´Ù°í ¼­ºñ½º ¿äûÀ» ÇÕ´Ï´Ù. (Á¶±Ý µÚ¿¡ ¼³¸íµå¸®´Â ÇÔ¼ö¸¦ ÅëÇØ) À̺¯ÀÌ
¾ø´Â ÇÑ ¼­¹ö´Â âÀ̶ó´Â ÀÚ¿ø Çϳª¸¦ ¼­¹ö Ãø(!!!)¿¡ ¸¸µé¾î ³õ½À´Ï´Ù. ±×¸®°í â
ÀÚ¿ø¿¡ ´ëÇÑ ÀÚ¿ø °íÀ¯¹øÈ£(Resource ID)¸¦ ¾Æ±î Ŭ¶óÀ̾ðÆ® ÂÊ¿¡¼­ ¸¸µé¾î ³õÀº
º¯¼ö¿¡ ¹ÝȯÇØÁÝ´Ï´Ù. ÀÌ º¯¼ö´Â ¹Ù·Î Ŭ¶óÀ̾ðÆ®¿Í ¼­¹ö Ãø¿¡ ¸¸µé¾îÁø ÇÑ Ã¢¿¡ ´ë
ÇÑ ¿¬°áÅë·Î ¿ªÇÒÀ» ÇØÁÝ´Ï´Ù. ¹«Áö Áß¿äÇÏÁÒ?

ÀÌ·¸°Ô ¼­¹ö Ãø¿¡´Ù â ÀÚ¿ø Çϳª¸¦ ¸¸µé¾î³õ°í, ±× ´ÙÀ½¿¡´Â ¿©·¯ºÐÀÌ ¿øÇÏ´Â ¶§¿¡
±× âÀ» È­¸é¿¡ Ç¥½ÃÇØ´Þ¶ó°í ¿äûÇÏ¸é ¼­¹ö°¡ ¾Ë¾Æ¼­ ±× âÀ» Ç¥½ÃÇØÁÝ´Ï´Ù. ¹°·Ð
¿äû¿¡ µû¶ó È­¸é¿¡¼­ »ç¶óÁö°Ô ¸¸µé ¼öµµ ÀÖ½À´Ï´Ù.

¶Ç´Â ÇöÀç ³ªÅ¸³»Á® Àִ â¿¡ ´ëÇÏ¿© ¹è°æ»ö°ú Å׵θ®»öÀ» ¹Ù²Û´ÙµçÁö ÇÏ´Â ¼öÁ¤
ÀÛ¾÷ ¶ÇÇÑ ¾Æ±îÀÇ Window Çü º¯¼ö¸¦ ÅëÇؼ­ ÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿ì¸®´Â ¾ÕÀ¸·Î ¸ðµç ÀÚ¿ø¿¡ ´ëÇÏ¿© ¼­¹ö Ãø¿¡ ÀÚ¿øÀ» ¸¸µé¾î ³õ°í ¿ì¸® Ŭ¶óÀ̾ðÆ®
ÇÁ·Î±×·¥¿¡¼­´Â ´ÜÁö ±× ÀÚ¿ø¿¡ ´ëÇÑ ID¸¸À» º¯¼ö¿¡´Ù ÀúÀåÇسõ°í ÀÖ½À´Ï´Ù. ±×¸®°í
¿øÇÏ´Â ¶§¿¡ ±× ÀÚ¿øÀ» Ç¥½ÃÇÑ´ÙµçÁö, ¼öÁ¤ÇÑ´ÙµçÁö, ¶Ç´Â ¾ø¾Ø´ÙµçÁö ÇÏ´Â ÀÛ¾÷À»
ÇàÇÕ´Ï´Ù. ±×¸®°í ³ªÁß¿¡ Á¤¸» ÇÊ¿ä°¡ ¾ø¾îÁø ÀÚ¿ø¿¡ ´ëÇؼ­´Â ¼­¹ö Ãø¿¡´Ù »èÁ¦ÇÏ
¶ó°í Åë°íÇÕ´Ï´Ù.

Á¦°¡ ÀÌ·¸°Ô ±æ°Ô ¼³¸íµå¸° °³³äÀ» ²À ¼÷ÁöÇØÁֽʽÿä. ¾î¶»°Ô º¸¸é ¿ì¸®°¡ ¾ÕÀ¸·Î
ÇÏ´Â ÀÏÀÇ °ÅÀÇ ´ëºÎºÐÀ» ¸»¾¸µå¸° °ÍÀ̳ª ´Ù¸§¾ø½À´Ï´Ù.


4-3) XCreateSimpleWindow ÇÔ¼ö¿¡ ´ëÇÏ¿©...

ÇÔ¼ö À̸§ ±×´ë·Î Çؼ®Çغ¸¸é "°£´ÜÇÑ Ã¢À» »ý¼ºÇÑ´Ù"ÀÌÁö ¾Ê½À´Ï±î? ¿ì¸®°¡ ¿µ¾î
¹®È­±Ç¿¡ »ì°í ÀÖ´Ù¸é, À̰͸¸Å­ ½ÄÀº Á× ¸Ô±â°¡ ¾îµð ÀÖ°Ú½À´Ï±î ¸¸Àº...
°£´ÜÇÑ Ã¢À» ¸¸µå´Â ÇÔ¼ö¿¡ ´ëÇÏ¿© ¾Ë¾Æº¸µµ·Ï ÇÏÁö¿ä.

ÇÔ¼öÀÇ ¿øÇü(Prototype)

Window XCreateSimpleWindow ( Display* display,
Window parent,
int x,
int y,
unsigned int width,
unsigned int height,
unsigned int border_width,
unsigned long border_color,
unsigned long background_color );

ÇÔ¼ö ÇÑ ¹ø Á¤¸» °ÅâÇϱº¿ä. ¾ÕÀ¸·Î ³ª¿À´Â ÇÔ¼öµé ´ëºÎºÐÀÌ °ÅÀÇ ÀÌ·¸´Ù°í »ý°¢
Çϼŵµ ¹«¹æÇÕ´Ï´Ù. Á¤¸»·Î ¸¹Àº Á¤º¸¸¦ Àü´ÞÇØÁÖ¾î¾ß ÇÏ´Â °ÍÀ» º¸½Ç ¼ö ÀÖÀ» °Ì´Ï
´Ù. Áü ij¸®Ã³·³ ¼ûÀ» Å©°Ô µéÀ̽® ÈÄ, ´Ù´Ù´Ù ½¯ »õ ¾øÀÌ ¾ê±âÇغ¸ÀÚ¸é,
1¹ø° Display Çü Æ÷ÀÎÅÍ´Â XOpenDisplay()¿¡¼­ Á¢¼ÓÇÑ µð½ºÇ÷¹À̸¦ °¡¸®Å°´Â Æ÷ÀÎ
ÅÍÀ̸ç, 2¹ø° Window´Â ÇöÀç ¸¸µé°íÀÚ Çϴ âÀÇ ¼Ò¼ÓµÇ´Â ºÎ¸ð âÀ̸ç, 3¹ø°,
4¹ø°´Â °¢°¢ x, y ÁÂÇ¥¸¦ ¶æÇÏ°í, 5¹ø°´Â Çȼ¿ ´ÜÀ§ÀÇ °¡·ÎÆø, 6¹ø°´Â Çȼ¿ ´ÜÀ§
ÀÇ ¼¼·ÎÆø, ±×¸®°í 7¹ø°´Â Å׵θ®ÀÇ µÎ²², ¸¶Áö¸·À¸·Î 8¹ø°¿Í 9¹ø°´Â Å׵θ® »ö
°ú âÀÇ ±âº»ÀûÀÎ ¹è°æ»öÀ» Ä«¸®Å°´Â unsigned long Çü ¼öÄ¡°ªÀÔ´Ï´Ù.

º¸Åë ÇϳªÀÇ µð½ºÇ÷¹ÀÌ¿¡¼­ ´ëºÎºÐÀÇ ÀÏÀ» ÇØÄ¡¿ì´Ï±î 1¹ø° Àμö°¡ »ó´çÈ÷ ±ÍÂú
À» ¼öµµ ÀÖÁö¸¸, »ý°¢Çغ¸¼¼¿ä, ¿©·¯ºÐÀÇ Å¬¶óÀ̾ðÆ® ÇÁ·Î±×·¥ÀÌ ´ÙÁß µð½ºÇ÷¹ÀÌ
Á¢¼Ó ÇÁ·Î±×·¥ÀÌ µÉ ¼öµµ ÀÖÁö ¾Ê½À´Ï±î? ±×·¯¸é, ¿©±â Àú±â µÎ °³ ÀÌ»óÀÇ µð½ºÇ÷¹
À̸¦ °£´ÜÇÏ°Ô Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹Ù·Î ¿ä ù¹ø° Àμö¸¦ °¡Áö°í ¸»ÀÔ´Ï´Ù.
2¹ø°, ºÎ¸ð âÀº ¹«¾ùÀΰ¡? --- X À©µµ¿ìÀÇ ¸ðµç âÀº Ç×»ó ¾î¶² â¿¡ ¼ÓÇØ ÀÖ
°Å³ª, ¾î¶² âµéÀ» ÀÚ±â ÀÚ½Ä(Child)À¸·Î °®½À´Ï´Ù. ¾ÆÁÖ ±Ùº»ÀûÀ¸·Î´Â X À©µµ¿ì°¡
¶ßÀÚ¸¶ÀÚ »ý±â´Â âÀº ¹Ù·Î Å׵θ®µµ ¾ø´Â â, ·çÆ®(root)âÀÔ´Ï´Ù. ¹Ù·Î ÀÌ Ã¢¿¡
¸ðµç âµéÀÌ ¼ÓÇÏ´Â °ÍÀÔ´Ï´Ù. ¾î¶² ÇÁ·Î±×·¥À̵ç óÀ½ âÀº ¹Ù·Î ·çƮâÀÇ ÀÚ½Äâ
ÀÌ µË´Ï´Ù. ±× âÀº ´Ù½Ã ÀÚ±â ÀÚ½ÄâµéÀ» ¾ó¸¶µçÁö °¡Áú ¼ö ÀÖÁö¿ä. ¾îÂî µÇ¾úµç
°£¿¡ »õ·Î »ý¼ºµÇ´Â âÀº Á·º¸(?)¸¦ °¡Á®¾ß ÇÕ´Ï´Ù. Àڱ⠺θðâÀº ¾Ë¾Æ¾ß ÇÏÁö ¾Ê
°Ú¾î¿ä?
¿©±â¼­ Àá±ñ XDefaultRootWindow()¶ó´Â ÇÔ¼ö¿¡ ´ëÇÏ¿© ¾Ë¾Æº¾½Ã´Ù.

ÇÔ¼öÀÇ ¿øÇü
Window XDefaultRootWindow ( Display *display );

ÀÌ ³à¼®ÀÇ ±â´ÉÀº Display Çü Æ÷ÀÎÅÍ°¡ °¡¸®Å°´Â ¼­¹öÀÇ ±âº»(Default) ·çƮâÀÇ
â ID¸¦ ¾Ë¾Æ´Ù°¡ ID¸¦ Window Çü º¯¼ö¿¡´Ù µÇµ¹·Á ÁÖ´Â ¿ªÇÒÀÔ´Ï´Ù.

¿ì¸®°¡ ¸¸µé°íÀÚ Çϴ âÀº Á÷Á¢ÀûÀ¸·Î ·çƮâÀÇ ¹Ù·Î ¾Æ·¡ ÀÚ½ÄâÀÌ µÇ¹Ç·Î, À§¿¡
¼­ ³ª¿Â XCreateSimpleWindow()ÀÇ µÎ¹ø°¿¡¼­ ºÎ¸ðâ ID¸¦ ÁöÁ¤ÇØÁÖ¾î¾ß Çϱ⠶§¹®
¿¡ ÇÊ¿äÇÑ ÇÔ¼öÀÔ´Ï´Ù.

³ª¸ÓÁö´Â ÀÚ¸íÇϹǷΠ8¹ø°, 9¹ø° »ö»ó ÁöÁ¤ ºÎºÐ¿¡ ´ëÇÑ ¼³¸í¸¸ µå¸³´Ï´Ù.

X À©µµ¿ì¿¡¼­ »ö»óÀº ¶ÇÇÑ ¼­¹ö°¡ Á¦°øÇÏ´Â ÇϳªÀÇ ÀÚ¿øÀ¸·Î¼­ ¼­¹ö°¡ °ü¸®¸¦ ÇÏ°í
ÀÖ½À´Ï´Ù. µû¶ó¼­ ¿ì¸®°¡ »ý°¢ÇÏ´Â °Í ¸¸Å­ ½±°Ô »ö»óÀ» ¾²°Å³ª ÇÒ ¼ö´Â ¾ø½À´Ï´Ù.
Ȥ½Ã ¿©·¯ºÐÀº XV ¿Í °°Àº ±×·¡ÇÈ ÇÁ·Î±×·¥À» ¾²¸é¼­ ±×·¡ÇÈ È­¸éÀÇ ÁúÀÌ ¾î¶³ ¶§´Â
´Ù¸£°Ô ³ªÅ¸³ª´Â °ÍÀ» °æÇèÇغ¸½Å Àû ÀÖ½À´Ï±î? ±× °æ¿ì¿£ XV°¡ ¿øÇÏ´Â ¸¸Å­ÀÇ »ö»ó
ÀÚ¿øÀ» ¼­¹ö¿¡°Ô¼­ °ø±Þ¹ÞÁö ¸øÇϱ⠶§¹®ÀÔ´Ï´Ù. ¾î¶² ÀÌÀ¯¿¡¼­µç...
¿¹¿¡¼­ µå·¯³ªµí ±×³É °ËÁ¤°ú Èò»öÀ» ÁöĪÇÏ´Â ½¬¿î ¼ýÀÚ¸¦ ¾²´Â °Ô ¾Æ´Ï¶ó, Black-
Pixel(), WhitePixel()À̶ó´Â ¸ÅÅ©·Î¸¦ ½è½À´Ï´Ù. À̹ø °­Á¿¡¼­´Â »ö»óÀ» ¾²´Â °ú
Á¤ÀÌ ±×·¸°Ô °£´ÜÇÏÁö´Â ¾Ê´Ù´Â »ç½Ç¸¸ ±â¾ïÇØÁֽñ⠹ٶø´Ï´Ù. Á¶¸¸°£¿¡ »ö»ó¿¡ ´ë
ÇÑ ¾ê±â°¡ À̾îÁý´Ï´Ù. ±× ¶§±îÁö¸¸ Âü¾ÆÁֽʽÿä.


4-4) XMapWindow()

ÀÌ ³à¼®Àº ¹«¾ùÀΰ¡ Çϸé, À§¿¡¼­ ¼­¹öÃø¿¡ ¸¸µé¶ó°í Å뺸ÇÑ Ã¢À» ½ÇÁ¦·Î ³ªÅ¸³»¶ó
´Â Áö½Ã¸¦ ¼­¹ö¿¡ º¸³»´Â ³à¼®ÀÔ´Ï´Ù. âÀÇ »ý¼º°ú Ç¥½Ã´Â º°°³ÀÇ °úÁ¤ÀÌÁö¿ä.

ÇÔ¼öÀÇ ¿øÇü :
XMapWindow ( Display *display, Window w );

ƯÁ¤ µð½ºÇ÷¹ÀÌ ¼­¹ö¿¡¼­ w¶ó´Â âÀ» È­¸é¿¡ ½ÇÁ¦·Î Ç¥½ÃÇÕ´Ï´Ù.
¿©±â¼­ ¿µ¾î MapÀº µ¿»ç·Î¼­ "Áöµµ·Î ±×¸®´Ù","¹èÄ¡ÇÏ´Ù"ÀÇ ¶æÀÔ´Ï´Ù. Á¦°¡ ´Ù´Ï´Â
ÁöÁú°úÇаú¿¡¼­´Â ÁöÁúµµ ±×¸®´Â °ÍÀ» ¸ÅÇÎ(Mapping)ÇÑ´Ù¶ó°í ¸»ÇÕ´Ï´Ù.


4-5) XFlush()

¾Æ´Ï, ÀÌ°Ç ¶Ç ¹»±î¿ä? Ç÷¯½¬(flush)´Â È­Àå½Ç¿¡¼­ º¼ ÀÏÀ» ´Ù º» ÈÄ, º¯±âÀÇ ¹°À»
³»¸®´Â °ÍÀ» ¸»ÇÕ´Ï´Ù. ÇѲ¨¹ø¿¡ ¹°À» Áà Èê·Áº¸³»´Â ±×·± ÀÏÀÔ´Ï´Ù. X À©µµ¿ì¿¡ ¹¹
±×·± ÀÏÀÌ ÇÊ¿äÇϳı¸¿ä? °ÅÂü ÀÌ»óÇϱº¿ä.

C ÇÁ·Î±×·¥À» °øºÎÇغ¸½Ã¸é, printf¿Í °°Àº ¸¹Àº Ãâ·Â¹®µéÀÌ ½ÇÇà Á÷ÈÄ¿¡ Ãâ·ÂÀÌ
ÀÌ·ç¾îÁö´Â °ÍÀº ¾Æ´Ï¶ó´Â »ç½ÇÀ» ¾Æ½Ç °Ì´Ï´Ù. ½ÇÁ¦´Â ¸Å¹ø Ãâ·Â ¸í·ÉÀ» ¹ÞÀ» ¶§
¸¶´Ù Ãâ·ÂÀ» ÇÏ´Â °Íº¸´Ù´Â ÇѲ¨¹ø¿¡ ¹öÆÛ¿¡ ¸ð¾Æ³õ°í ¶§°¡ µÇ¸é ´Ü ÇÑ ¹øÀÇ ½ÇÇàÀ¸
·Î È¿À²¼ºÀ» ³ôÀÌ´Â ±â¼úÀ» äÅÃÇÕ´Ï´Ù. X À©µµ¿ìµµ ¶ÇÇÑ ±×·¸½À´Ï´Ù. ±× ¼ö¸¹Àº
Ŭ¶óÀ̾ðÆ®µé·ÎºÎÅÍÀÇ ¼­ºñ½º ¿äûÀ» ±× ¶§ ±× ¶§ ½ÇÇàÇÏ°Ô µÇ¸é ´É·üÀÌ ¶³¾îÁö°Ô
µÇ¹Ç·Î, ¼­¹ö´Â ¹öÆÛ¸¦ ¸¶·ÃÇÏ°í ±× ¹öÆÛ°¡ Â÷°Å³ª ¹öÆÛ¸¦ ºñ¿ì¶ó´Â ¸í½ÃÀûÀÎ ¿ä±¸°¡
ÀÖÀ» ¶§¸¸ ½ÇÇàÀ» ÇÏ°Ô µË´Ï´Ù.

À̹ø ¿¹´Â X À©µµ¿ì ¼­¹ö¿¡°Ô´Â Äà¹æ±Íµµ ²ð ÇÊ¿ä°¡ ¾÷À» ¸¸Å­, ÀÚÀßÇÑ ¿ä±¸À̱â
¶§¹®¿¡ ±×·± ¸í·ÉÀ» ³»¸°´Ù°í Çؼ­ ¹öÆÛ°¡ Âû ¸® ¸¸¹«ÇÕ´Ï´Ù. ±×·¯´Ï, °­Á¦·Î 'º¯±â
¹°À» ÂÓ ³»·Á¾ß°ÚÁÒ?'

ÇÔ¼öÀÇ ¿øÇü :
XFlush ( Display *display );


4-6) ÄÄÆÄÀÏ

À§ ¿¹Á¦¸¦ ex02.c¶ó°í ÀúÀåÇϼ̴ٸé,

cc -o ex02 ex02.c -lX11 -I/usr/X11/include -L/usr/X11/lib

º¸Åë -I, -L ¿É¼ÇÀº ÁÖÁö ¾ÊÀ¸¼Åµµ µÇÁö¸¸ Á¦´ë·Î Çì´õÈ­ÀÏ°ú ¶óÀ̺귯¸®¸¦ ãÁö
¸øÇÒ ¶§´Â ¸í½ÃÀûÀ¸·Î ÁÖ½Ã¸é µË´Ï´Ù.


4-7) ½ÇÇà

ÀÚ, ÀÌÁ¦ X Å͹̳Π»ó¿¡¼­ ½ÇÇàÀ» Çغ¼±î¿ä?
¿ì¸®°¡ ¿¹»óÇß´ø °Í°ú´Â Á» ´Ù¸¦ °ÍÀÔ´Ï´Ù. ¿Ö³Ä±¸¿ä? ¿©·¯ºÐ²²¼­ fvwm°ú °°Àº
À©µµ¿ì °ü¸®ÀÚ¸¦ ¾²°í °è½Ã¸é, ¿ì¸®°¡ ÀǵµÇÏÁö´Â ¾Ê¾ÒÁö¸¸ ±× ³ðÀÌ ¿ì¸®°¡ ¸¸µé°í
ÀÚ Çϴ âÀÇ ¸ð¾ç¿¡ °³ÀÔÇÏ°í µé¾î¿À±â ¶§¹®ÀÔ´Ï´Ù. ÀÌ ºÎºÐ¿¡ ´ëÇÑ ¼³¸í ¶ÇÇÑ
´ÙÀ½ ¹øÀ¸·Î ¹Ì·ç±â·Î ÇÏ°í ´ÜÁö âÀÌ ¸¸µé¾îÁ³´Ù´Â °Í¸¸ È®ÀÎÇÏ°í ³Ñ¾î°¡ÁÒ. :)

Á¾·á´Â ½ÇÇà½ÃŲ Å͹̳Πâ¿¡¼­ ¿£ÅÍÅ°¸¦ ÇÑ ¹ø ´­·¯ÁÖ½Ã¸é µË´Ï´Ù.

¾ÆÂü! ¿¹Á¦¿¡¼­ ¿Ö getchar()¸¦ ½è´ÂÁö ÇÑ ¹ø »ý°¢Çغ¸¼¼¿ä. ±×¸®°í, À§¿¡¼­ ¿£ÅÍ
Å°°¡ ¾Æ´Ï¶ó ½ºÆäÀ̽º¹Ù °°Àº °ÍÀ» ´©¸£¸é ¿Ö Á¾·áÇÏÁö ¾Ê´ÂÁöµµ »ý°¢Çغ¸¼¼¿ä.
´ÙÀ½¹ø °­ÀÇ¿¡ ±× ´äÀ» µå¸®°Ú½À´Ï´Ù.


HomePage Backward Forward Post Reply List
1998 by swindler