<BGI ÆÄÀϰú CHR ÆÄÀÏÀÇ ¸µÅ©>

Turbo-C¿¡¼­´Â µ¿ÀûÀ¸·Î ¸µÅ©µÈ ±×·¡ÇÈ µå¶óÀ̹ö
(*.BGI : Borland Graphic Interface)¿Í ±×·¡ÇÈ ÆùÆ®(*.CHR)¸¦
»ç¿ëÇÑ´Ù. ¿ÜºÎ µå¶óÀ̹ö¿Í ÆùÆ®¸¦ »ç¿ëÇϸé ÄÄÆÄÀÏµÈ ÇÁ·Î±×·¥ÀÇ
Å©±â¸¦ ÀÛ°ÔÇÏ°í ´Ù¸¥ µå¶óÀ̹ö¿Í ÆùÆ®¸¦ ½±°Ô ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.
ÇÏÁö¸¸ ÀÌ·¯ÇÑ ¿ÜºÎÆÄÀϵéÀÌ Á¤ÇØÁø À§Ä¡¿¡ ÀÖÁö ¾Ê°Å³ª ½Ç¼ö·Î
»èÁ¦µÈ´Ù¸é ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇÁö ¾ÊÀ» °ÍÀÌ´Ù. ±×·¯ÇÑ À§ÇèÀ»
Á¦°ÅÇϱâ À§Çؼ­´Â ¸ðµç ÇÊ¿äÇÑ ¿ÜºÎÆÄÀϵéÀ» ½ÇÇàÆÄÀÏ¿¡ ºÙ¹ÚÀÌ·Î
¸µÅ©ÇØ ³Ö´Â ¹æ¹ýÀÌ ÀÖ´Ù. ±× ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù.

  1. Turbo-C µð·ºÅ丮¿¡ ÀÖ´Â BGIOBJ.EXE À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇØ¼­
    ÇÊ¿äÇÑ BGI ÆÄÀÏÀ̳ª CHR ÆÄÀÏÀ» OBJ ÆÄÀÏÇüÅ·Πº¯È¯ÇÑ´Ù.
  2. ´ÙÀ½À¸·Î ÀÌ OBJ ÆÄÀϵéÀ» ½ÇÇàÆÄÀÏ¿¡ ¸µÅ©ÇÏ¸é µÇ´Âµ¥,
    ¹æ¹ýÀÌ µÎ °¡Áö°¡ ÀÖ´Ù.
    1. ù¹øÂ°´Â TLIB.EXE À¯Æ¿¸®Æ¼¸¦ ½á¼­ graphics.lib
      ÆÄÀÏ¿¡ ¹æ±Ý ¸¸µç ¸ñÀûÆÄÀÏ(*.obj)À» Ãß°¡Çسִ ¹æ¹ýÀε¥,
      ÀÌ ¹æ¹ýÀº ³Ê¹« ¸¹Àº ÆÄÀÏÀÌ ¸µÅ©µÇ¸é "Segment exceed 64K"
      ¶ó´Â ¿¡·¯°¡ ¹ß»ýÇÑ´Ù.
      À̶§´Â OBIOBJ.EXE ¸¦ »ç¿ëÇÒ ¶§ /F ¿É¼ÇÀ» ÁÖ¸é µÈ´Ù.
      À̶§ µÎ °¡Áö°¡ ´Þ¶óÁø´Ù.
      1. F¹®ÀÚ°¡ ¸¸µé¾îÁø obj ÆÄÀÏÀ̸§ ³¡¿¡ µ¡ºÙ¿©Áø´Ù.
        (¿¹: cga.bgi -> cgaf.obj)
        ±×·¡¼­ ¼Ò½ºÆÄÀÏ À̸§Àº ÀÌ·¯ÇÑ Ã·°¡¸¦ À§ÇÏ¿©
        7ÀÚ À̳»·Î ÇØ¾ßÇÑ´Ù.
      2. º¸ÅëÀÇ À̸§¿¡´Â _far°¡ Ãß°¡µÇ°í, µî·ÏÇÒ ¶§
        registerfarbgidriver()ÇÔ¼ö¿Í registerfarbgifont()ÇÔ¼ö¸¦
        »ç¿ëÇØ¾ß ÇÑ´Ù.
        (Turbo-C 2.0ÀÇ µµ¿ò¸» È­¸é¿¡´Â ÀÌ ÇÔ¼ö 2°³°¡
        ³ªÅ¸³ªÁö ¾Ê´Â´Ù.
        ÇÏÁö¸¸ graphics.h ÆÄÀÏÀ» µÚÁ®º¸¸é ÀÌ ÇÔ¼ö°¡
        Á¤ÀǵǾî ÀÖ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù.)
    2. µÎ¹øÂ°´Â ÇÁ·ÎÁ§Æ® ÆÄÀÏ(*.prj)À» ÀÌ¿ëÇØ¼­ ¸µÅ©ÇÏ´Â
      ¹æ¹ýÀε¥, ÇÊ¿äÇÑ ÆÄÀϸ¸À» ¼±ÅÃÀûÀ¸·Î ¸µÅ©ÇÒ ¼ö
      ÀÖ¾î ÆíÇÏ´Ù.

<¸µÅ©µÈ µå¶óÀ̹ö¿Í ÆùÆ®ÀÇ »ç¿ë>

±×·¡ÇÈ µå¶óÀ̹ö¿Í ÆùÆ®¸¦ ¸µÅ©ÇÑ ÈÄ ÇÁ·Î±×·¥¿¡¼­ »ç¿ëÇϱâ
À§Çؼ­´Â ¿ÜºÎ µå¶óÀ̹ö¿Í ÆùÆ®ÀÇ »ç¿ëÇÒ ¶§¿¡´Â ³ªÅ¸³ªÁö ¾Ê´Â
´Ù¸¥ ¿ä±¸Á¶°ÇÀÌ ÇÊ¿äÇÏ´Ù.

  1. initgraph() ÇÔ¼ö°¡ ºÒ·ÁÁö±â Àü¿¡ µå¶óÀ̹ö³ª ÆùÆ®´Â
    µî·ÏµÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.
  2. ¸µÅ©µÈ ±×·¡ÇÈ µå¶óÀ̹ö¸¦ µî·ÏÇϱâ À§ÇØ
    registerbgidriver() / registerbgifont() ÇÔ¼ö°¡
    »ç¿ëµÈ´Ù.
    (registerfarbgidriver() / registerfarbgifont()
    ÇÔ¼ö´Â ÀÌ ÇÔ¼öµéÀÇ far ¹öÀü)
    ¸¸¾à ¸í½ÃµÈ µå¶óÀ̹ö°¡ ¹ß°ßµÇÁö ¾Ê´Â´Ù¸é À½¼ö
    ¿¡·¯Äڵ尪ÀÌ ¸®Åϵǰí, ±×·¡ÇÈ µå¶óÀ̹ö¸¦ ¹ß°ßÇϸé
    ³»ºÎ µå¶óÀ̹ö ¹øÈ£¸¦ ¸®ÅÏÇÑ´Ù.

< ±×·¡ÇÈ µå¶óÀ̹ö >

µå¶óÀ̹ö ÆÄÀÏ ÀÏ¹Ý ±âÈ£ »ó¼ö far ±âÈ£ »ó¼ö
CGA.BGI CGA_driver CGA_driver_far
EGAVGA.BGI EGAVGA_driver EGAVGA_driver_far
HERC.BGI Herc_driver Herc_driver_far
ATT.BGI ATT_driver ATT_driver_far
PC3270.BGI PC3270_driver PC3270_driver_far
IBM8514.BGI IBM8514_driver IBM8514_driver_far

< ±×·¡ÇÈ ÆùÆ® >

ÆùÆ® À̸§ ÀÏ¹Ý ±âÈ£ »ó¼ö far ±âÈ£ »ó¼ö
TRIP.CHR triplex_font triplex_font_far
LITT.CHR small_font small_font_far
SANS.CHR sansserif_font sansserif_font_far
GOTH.CHR gothic_font gothic_font_far


/* µå¶óÀ̹ö¿Í ÆùÆ®¸¦ µî·ÏÇÏ´Â ¿¹Á¦ ÇÁ·Î±×·¥ */
/* ¾Æ·¡¿¡¼­ ÇÊ¿äÇÑ µå¶óÀ̹ö¸¸ µî·ÏÇÏ¸é µÊ   */

#include <graphics.h>

void register_driver()
{
   if ( registerbgidriver( CGA_driver ) < 0 ) exit(1);         
   if ( registerbgidriver( EGAVGA_driver ) < 0 ) exit(1);
   if ( registerbgidriver( Herc_driver ) < 0 ) exit(1);
   if ( registerbgidriver( ATT_driver ) < 0 ) exit(1);
   if ( registerbgidriver( PC3270_driver ) < 0 ) exit(1);
   if ( registerbgidriver( IBM8514_driver ) < 0 ) exit(1);
}

void register_font()
{
   if ( registerbgifont( triplex_font ) < 0 ) exit(1);
   if ( registerbgifont( small_font ) < 0 ) exit(1);
   if ( registerbgifont( sansserif_font ) < 0 ) exit(1);
   if ( registerbgifont( gothic_font ) < 0 ) exit(1);
}

void main(void)
{
   . . . . .
   register_dirver(); ¦¡¦¨¡æ initgraph() ÇÔ¼ö È£ÃâÀü¿¡ »ç¿ë
   register_font(); ¦¡¦¡¦¥
   initgraph(. . .);
   . . . . .
   closegraph();
}