
#include "폼디자인\폼디자인.h"

#include "함수묶음.h"

#include "기계닉스\색상정의.h"

//[2022.05.15.일][추가]
#include "기계닉스\함수모음.h"


//[VAR]
//{
    struct ts_폼디자인  _폼디자인;

//}


void _폼디자인_위치얻기(struct ts_폼디자인  **r폼디자인)
{
  (*r폼디자인) = &_폼디자인;

}

void _폼디자인_생성(void)
{
  //[VAR]
  //{
      char   ide_실행경로[1024];

      char   가상기계실행경로[1024];

      char   경로이름확장자[1024];

      struct ts_전광판전구설정정보  전광판전구설정정보;

      int    l, r, t, b;
      int    보정_x, 보정_y;

  //}

  //[전처리]
  //{
      _Ide_실행경로_(ide_실행경로);

      //[수정][2022.05.17.화]{-------------------------------------------------
      //[가상기계(GVMS)] 를 직접 실행하는 경우를 위하여 [설계묶음] 경로만을 기준으로 하는
      //<_Ide_설계묶음_경로이름확장자_()> 함수 대신에, [설계묶음] 경로와 [가상기계(GVMS)]
      //실행 경로를 둘다 만족시키는 <Ide_Gvms_실행경로()> 함수로 교체.
      Ide_Gvms_실행경로(가상기계실행경로);
      //}---------------------------------------------------------------------

      _GDotMatrix_전체_일시정지_(true, d_쓰기);

  //}

  //[위치 보정값 계산]
  //{
      //[!]{------------------------------------------
      //생성된 [그림부품] 들을 [화면:중앙] 에 분포시키기 위한것.
      //}---------------------------------------------

      l = 7;
      r = 1903;
      t = 478;
      b = 678;

      보정_x = (l + r)/2 - _Sys_화면영역폭_()/2;
      보정_y = (t + b)/2 - _Sys_화면영역높이_()/2;

  //}

  //[!]{------------
  //폼디자인 구현 시작.
  //}---------------

  //[_폼디자인.전광판_GForm]
  //{
      _GForm_생성_(_폼디자인.전광판_GForm, NULL, _Gui_ID_생성(), 7 - 보정_x, 478 - 보정_y, 1896, 200, false);
      _GForm_제목줄문자열_(_폼디자인.전광판_GForm, "::: 기계닉스 ::: LED 전광판 :::", d_쓰기);
      _GForm_창최대화버튼유효_(_폼디자인.전광판_GForm, false, d_쓰기);
      _GForm_유효_(_폼디자인.전광판_GForm, true, d_쓰기);

      //[수정]{----------------------------------------------------------------------
      //<__Main.c:__Main()> 에서 화면 중앙에 보이도록 한뒤 보여지도록 여기서는 보이지 않도록 수정.
      //_GForm_보이기_(_폼디자인.전광판_GForm, true, d_쓰기);
      //}---------------------------------------------------------------------------

      _GForm_이벤트_Close_(_폼디자인.전광판_GForm, true, d_쓰기);

      _GX_표시되는_이름설정_(_폼디자인.전광판_GForm, "전광판_GForm");

      //[가장 앞으로]
      //{
          _GX_항상위로_(_폼디자인.전광판_GForm, true);
          _GX_가장앞으로_(_폼디자인.전광판_GForm);
          _GX_항상위로_(_폼디자인.전광판_GForm, false);

      //}

  //}

  //[_폼디자인.전광판_GDotMatrix]
  //{
      _GDotMatrix_생성_(_폼디자인.전광판_GDotMatrix, _폼디자인.전광판_GForm, _Gui_ID_생성(), 3, 3, 1882, 171, false);
      _GDotMatrix_전구설정_(_폼디자인.전광판_GDotMatrix, 2, 5, clGray, clWhite, true, clGray, clWhite);
      _GDotMatrix_전구배치간격_(_폼디자인.전광판_GDotMatrix, 1, d_쓰기);
      _GDotMatrix_테두리_(_폼디자인.전광판_GDotMatrix, true, d_쓰기);
      _GDotMatrix_전구설정정보_(_폼디자인.전광판_GDotMatrix, &(전광판전구설정정보.종류), &(전광판전구설정정보.크기), &(전광판전구설정정보.켜기색), &(전광판전구설정정보.끄기색), &(전광판전구설정정보.테두리유무), &(전광판전구설정정보.테두리색), &(전광판전구설정정보.배경색));
      _GDotMatrix_그림영역폭_(_폼디자인.전광판_GDotMatrix, 134, d_쓰기);
      전광판전구설정정보.종류 = 3;
      _GDotMatrix_전구설정_(_폼디자인.전광판_GDotMatrix, 전광판전구설정정보.종류, 전광판전구설정정보.크기, 전광판전구설정정보.켜기색, 전광판전구설정정보.끄기색, 전광판전구설정정보.테두리유무, 전광판전구설정정보.테두리색, 전광판전구설정정보.배경색);
      전광판전구설정정보.크기 = 13;
      _GDotMatrix_전구설정_(_폼디자인.전광판_GDotMatrix, 전광판전구설정정보.종류, 전광판전구설정정보.크기, 전광판전구설정정보.켜기색, 전광판전구설정정보.끄기색, 전광판전구설정정보.테두리유무, 전광판전구설정정보.테두리색, 전광판전구설정정보.배경색);
      전광판전구설정정보.켜기색 = 0x000000ff;
      _GDotMatrix_전구설정_(_폼디자인.전광판_GDotMatrix, 전광판전구설정정보.종류, 전광판전구설정정보.크기, 전광판전구설정정보.켜기색, 전광판전구설정정보.끄기색, 전광판전구설정정보.테두리유무, 전광판전구설정정보.테두리색, 전광판전구설정정보.배경색);
      전광판전구설정정보.끄기색 = 0x00f6f6f6;
      _GDotMatrix_전구설정_(_폼디자인.전광판_GDotMatrix, 전광판전구설정정보.종류, 전광판전구설정정보.크기, 전광판전구설정정보.켜기색, 전광판전구설정정보.끄기색, 전광판전구설정정보.테두리유무, 전광판전구설정정보.테두리색, 전광판전구설정정보.배경색);
      전광판전구설정정보.배경색 = 0x00000000;
      _GDotMatrix_전구설정_(_폼디자인.전광판_GDotMatrix, 전광판전구설정정보.종류, 전광판전구설정정보.크기, 전광판전구설정정보.켜기색, 전광판전구설정정보.끄기색, 전광판전구설정정보.테두리유무, 전광판전구설정정보.테두리색, 전광판전구설정정보.배경색);
      _GDotMatrix_이동_(_폼디자인.전광판_GDotMatrix, true, d_쓰기);
      _GDotMatrix_이동문자열_(_폼디자인.전광판_GDotMatrix, "기계닉스 첨단 대장간 http://www.gigyenics.co.kr", d_쓰기);
      _GDotMatrix_이동시간간격_(_폼디자인.전광판_GDotMatrix, 30, d_쓰기);
      _GDotMatrix_유효_(_폼디자인.전광판_GDotMatrix, true, d_쓰기);
      _GDotMatrix_보이기_(_폼디자인.전광판_GDotMatrix, true, d_쓰기);
      _GX_표시되는_이름설정_(_폼디자인.전광판_GDotMatrix, "전광판_GDotMatrix");

  //}

  //[후처리]
  //{
      _GDotMatrix_전체_일시정지_(false, d_쓰기);

  //}

}

void _폼디자인_소멸(void)
{
  _GDotMatrix_삭제_(_폼디자인.전광판_GDotMatrix);
  _GForm_삭제_(_폼디자인.전광판_GForm);

}

void _폼디자인_모달_초기화(void)
{
  _폼디자인.전광판_GForm_모달 = _GForm_유효_(_폼디자인.전광판_GForm, NULL, d_읽기);

}

void _폼디자인_모달_구현(bool  p모달유무)
{
  if(p모달유무 == false)
  {
    _폼디자인.전광판_GForm_모달 = _GForm_유효_(_폼디자인.전광판_GForm, NULL, d_읽기);
    _GForm_유효_(_폼디자인.전광판_GForm, false, d_쓰기);

  }
  else
  {
    _GForm_유효_(_폼디자인.전광판_GForm, _폼디자인.전광판_GForm_모달 && true, d_쓰기);

  }

}

void _폼디자인_이벤트(struct t_Gui_알림문64  *p알림문64)
{
  if((p알림문64->식별자 == _Gui_ID_읽기(_폼디자인.전광판_GForm)) && (p알림문64->알림문 == d_GuiMsg_Close))
  {
    _폼디자인_전광판_GForm_이벤트_Close(p알림문64);

  }

}

