//---------------------------------------------------------------------------

#ifndef ide_BalloonBoxH
#define ide_BalloonBoxH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------

#include "font.h"
#include <ExtCtrls.hpp>

class Tide_BalloonBox_Form : public TForm
{
__published:	// IDE-managed Components
        TTimer *balloon_Timer;
        void __fastcall balloon_TimerTimer(TObject *Sender);
private:	// User declarations
public:		// User declarations

        __fastcall Tide_BalloonBox_Form(TComponent* Owner);

        //[2012.04.29.일][완료!!!]
        __fastcall ~Tide_BalloonBox_Form(void);

        //[서브클래싱]
        //{
            void __fastcall WndProc(Messages::TMessage &Message);
        //}

        //[VAR]
        //{
            //[환경변수]
            //{
                //[2007.10.02.화][추가!!!]
                struct  IDE_OPTION   *_ide_option;

            //}

            //[실제 그리는 영역]{------
            Graphics::TBitmap  *_bmp_;
            //}------------------------

            //[사용글꼴]{-------------
            struct FONTPACK    _font;
            //}-----------------------

            //[2012.03.30-1.목][추가!!!]
            //기본값 정의.
            #define  d_ide_BalloonBox_pointerLeft      16
            int                _pointerLeft;   //지시자 왼쪽 위치.

            #define  d_ide_BalloonBox_pointerHeight    16
            int                _pointerHeight; //지시자 높이.

            #define  d_ide_BalloonBox_pointerWidth     11
            int                _pointerWidth;  //지시자 폭.

            //caption 을 마우스로 끄는 경우 true.
            bool               _pointerSelected;

            POINT              _mouse_down_point;

            int                _back_color;

            //[2008.02.03.일][추가!!!]{----------------------------------------------
            //출력할 문자열을 저장한다.(간단한 내용을 표시하지만 넉넉하게 설정한다.)
            char               _balloonStr[1024*10];
            //}----------------------------------------------------------------------

        //}

        //[FUNCTION]
        //{
            //[2007.03.18.일][완료!!!]
            void __fastcall _FormCut(void);

            void __fastcall _Draw(void);

            //[2007.03.18.일][완료!!!]
            void __fastcall _Border(void);

            //[2012.05.07.월][완료!!!]
            void __fastcall _BalloonBox(int   pX,
                                        int   pY,
                                        //일정 시간 뒤에 보여줄지 말지를 결정한다.
                                        bool   pTimerUse,
                                        //전달 글.
                                        char  *pBalloonStr);

            //[2012.03.30.금][완료!!!]
            void __fastcall _BalloonBoxPos(int pX, int pY);

            //[2008.02.03.일][완료!!!]
            void __fastcall _Hide(void);

            //[2012.03.30.금][완료!!!]
            void __fastcall _Shape(//[2012.03.30.금][추가!!!]
                                   //내부 <_FormCut()> 을 처리할지(true) 말지(false)를 결정.
                                   bool  pFormCut);

        //}

        //[지원함수]
        //{
            //[2012.03.30.금][완료!!!]
            void __fastcall _Cal_pointerLeft(int   pX,
                                             char  *pBalloonStr);

        //}

};
//---------------------------------------------------------------------------
extern PACKAGE Tide_BalloonBox_Form *ide_BalloonBox_Form;
//---------------------------------------------------------------------------
#endif
