연습장(다버리고 갑니다...)-남길 글이 있으면 민가촌에 남겨주시고, 회원 가입을 받지 않습니다.

2019/06/28 (18:20) from 124.137.38.214' of 0' Article Number : 1145
Delete Modify ... Access : 7 , Lines : 181
Milestone19_01_02 ; 문자열 표시 개선
Download : _Milestone19_01_02.zip (4625 Kbytes)
Milestone19_01_02 ; 문자열 표시 개선
        17_HFONT_VS2013_DIP(...)_Scale ~ 28_HFONT_VS2013_DIP(...)_String_Edit

Milestone19_01 ; 문자열 표시 개선
        01_ID3DXFont_Rendering_VS2013 ~ 16_HFONT_VS2013_DIP(...)_RowXColumn

////////////////////////////////////////////////////////////////////////////////
// Milestone19_01
//
// 속성 페이지 > 구성 속성 > 일반
// 프로젝트 기본값 - 문자집합; 유니코드 & 멀티바이트 문자 집합 사용
//
//-----------------------------------------------------------------------------
// 2019.06.27.(목)
//
// 28_HFONT_VS2013_DIP(...)_String_Edit
// ; 기존 유니코드 + 멀티바이트 문자 집합에 맞춘 함수 추가
// VK_F8 ; Toggle1ByteDisplay(); - 멀티바이트를 유니코드 처럼 1byte씩 출력을 위한 토글
// (결과적으로 잘못된 출력, 참고용으로 기록)
// / const unsigned char MODE_1BYTEDISPLAY = 0x80;
// / HRESULT Render_HangulA_1Byte( ... );
//
//-----------------------------------------------------------------------------
// 2019.06.19.(수)
//
// 22_HFONT_VS2013_DrawIndexedPrimitive(...)_TextOut
// GetSize( ... ); 함수 삭제
// ; TextOut( ...); --> DrawText( ..., DT_CALCRECT); 로 변경
//
//-----------------------------------------------------------------------------
// 2019.06.18.(화)
//
// 20_HFONT_VS2013_GetWidth (cf. 10_HFONT_VS2013_GetWidth)
// ; 프로젝트 기본값 - 문자집합; 유니코드 --> 멀티바이트 문자 집합 사용으로 변경
//
//=============================================================================
// 속성 페이지 > 구성 속성 > 일반
// 프로젝트 기본값 - 문자집합; 유니코드 문자 집합 사용
//
//-----------------------------------------------------------------------------
// 2019.06.17.(월)
//
// 18_HFONT_VS2013_DIP(...)_String_Edit
// Toggle 키 처리 ; #define MODE_D3DXSPRITE 0x00000001 정의를
// const unsigned char MODE_D3DXSPRITE = 0x1; 로 변경
// VK_F2 ; ToggleMode(); - MODE_D3DXSPRITE와 MODE_INDEXEDPRIMITIVE 전환
// VK_F3 ; ToggleAlphaBlendedable( ); - 글자 표시할 때 배경색을 표시할지 토글 처리
// VK_F4 ; ToggleWireframe( ); - Wireframe 표시
// VK_F5 ; ToggleFixedWidth(); - 표시되는 문자열 넓이가 최대치보다 클 때 최대치 넓이에 맞춰서 축소
// VK_F6 ; ToggleBoxing( ); - 표시 영역 안에서만 표시
// VK_F7 ; ToggleAutoReturn( ); cf. GetSize_Spacing( ... );
// VK_PRIOR ; TogglePageUp(); - 문자열 교체
// VK_NEXT ; TogglePageDown(); - 문자열 교체
//
//-----------------------------------------------------------------------------
// 2019.05.30.(목)
//
// 17_HFONT_VS2013_DIP(...)_Scale
// 기능적으로 함수 세분화
// BOOL PStrAdjust(WCHAR * pStrOut, WCHAR * pStrIn); - 입력 문자열 가공
// BOOL PStrIsPrintable(WCHAR c); - Filtering
// enum FLAG_TEXT::FLAG_TEXT_FIXED_WIDTH = 1
// VOID Render();에서 fScale 계산 --> Render_Hangul( ..., (float)fScale); 호출
// cf. 스케일 적용 ; 넓이와 폭에 동일값을 적용
//
//=============================================================================
// 2019.05.23.(목)
//
// 16_HFONT_VS2013_DIP(...)_RowXColumn
// ; 문자열 내, '\n' 줄바꿈 처리
// static const int HORIZ_SPACING; 적용
// 마지막 줄 표시할 때, 경우에 따라 맨위쪽 texture가 찍히는 경우 방지
// g_pd3dDevice->SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_CLAMP );
// g_pd3dDevice->SetSamplerState(0, D3DSAMP_ADDRESSV, D3DTADDRESS_CLAMP );
// 문자열 길이 제한 ; < MAX_STRING (in VOID Render();)
//
//-----------------------------------------------------------------------------
// 2019.05.17.(금)
//
// 15_HFONT_VS2013_DIP(...)_1row
// ; DrawIndexedPrimitive( ... ); 함수를 사용해서, 가변 문자열 출력 (by 1줄)
// #define MODE_ALPHABLENDENABLE 0x00000100 추가
// HRESULT Render_Hangul( WCHAR * Str, UINT &lenStr, SIZE &outSize ); 에서
// / 공백이 있을 때, 문자열을 카운트하지 않는다 - 변경된 lenStr 값 리턴
// / static const int VERT_SPACING = 2; - Vertex 설정 할 때, 문자 사이에 공백 추가
//
//-----------------------------------------------------------------------------
// 2019.05.14.(화)
//
// 14_HFONT_VS2013_DIP(...)_2Str
// ; DrawIndexedPrimitive( ... );에서 2개의 문자열을 출력하도록 수정
// HRESULT InitVB(); 정점, 인덱스 버퍼 설정하고
// HRESULT Render_Hangul(WCHAR * Str); 에서 정점 정보를 설정
// 알파 테스트 색상은 CreateSolidBrush(0x00FF00FF);로 설정
// BOOL GetSize( ... ); / HRESULT Render_Hangul( WCHAR * Str ); 함수 수정
//
//-----------------------------------------------------------------------------
// 2019.05.11.(토)
//
// 13_HFONT_VS2013_DIP(...)_TextOut2 (DIP = DrawIndexedPrimitive)
// ; 표시되는 문자열 만큼만, 출력하도록 버텍스 버퍼 수정
// HRESULT Render_Hangul(); 에서 Vertex 위치와 UV 크기 설정
//
//-----------------------------------------------------------------------------
// 2019.05.10.(금)
//
// 12_HFONT_VS2013_DrawIndexedPrimitive(...)_TextOut
// ; 2개 모드에서 동일한 결과를 화면에 출력
// #define MODE_D3DXSPRITE 0x00000001
// #define MODE_INDEXEDPRIMITIVE 0x00000020
// 출력을 위한 LPDIRECT3DTEXTURE9 g_pHTexture; 크기는 고정
// #define TEXTURE_WIDTH   256
// #define TEXTURE_HEIGHT  256
//
//-----------------------------------------------------------------------------
// 2019.05.09.(목)
//
// 11_HFONT_VS2013_DrawIndexedPrimitive(...)
// (LPD3DXSPRITE) g_pTextSprite->Begin(NULL); 처리 방식을 DrawIndexedPrimitive(...); 변경
// VK_F1 ; Wireframe 표시 Toggle
//
//=============================================================================
// 2019.04.29.(월)
// 10_HFONT_VS2013_add_GetSize(...)
// GetTextExtentPoint32W( ... ), GetTextMetrics(hDc, (TEXTMETRIC) &tm); 시용
//
//-----------------------------------------------------------------------------
// 2019.04.25.(목)
// 09_HFONT_VS2013_With_LPD3DXSPRITE
// LPD3DXSPRITE::Draw( g_pHTexture, .... ); 함수로 화면 출력
// void Render_Hangul(); 에서 특정 DC에 출력한 한글, g_pHTexture에 출력
//
//-----------------------------------------------------------------------------
// 2019.04.23.(화)
// 08_TextOut_VS2013-Using Memory_DC
// ; 메모리 DC에 문자를 출력하고, Filtering으로 특정색을 사용하는 방법 구현
//
//-----------------------------------------------------------------------------
// 2019.04.19.(금)
// 07_TextOut_VS2013_더블 버퍼링 ;  
// void drawByDC( HWND hWnd, HDC hdc ); /  void drawByDBuffering( HWND hWnd, HDC hdc );
// timeGetTime(); 를 사용해서 FPS 고정
//
//-----------------------------------------------------------------------------
// 2019.04.18.(목)
// 06_TextOut_VS2013 ; HFONT hFont로 폰트 설정 - VK_SPACE 눌렸을 때 출력
// void DrawHangul(HWND hWnd); 추가
//
//-----------------------------------------------------------------------------
// 2019.04.17.(수)
// 05_TextOut_VS2013 ; TextOut(hdc, 100, 100, L"Beautiful Korea", 15); 함수 샘플
//
//ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
// 2019.04.15.(월) 04_D3DFont_Rendering_VS2013-폰트(사용자폰트)
// ID3DXFont_Rendering_VS2013_04 ; 폰트 (사용자 폰트)
// class CD3DFont { ... }; 사용
// CD3DFont 클래스 예제는 DX8에서 사용된 방법으로 영문만 표시
//
//ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
// 2019.04.10.(수) 03_ID3DXFont_Rendering_VS2013-폰트크기
// ID3DXFont_Rendering_VS2013_03 ; 폰트 크기 설정
// D3DXCreateFont( g_pd3dDevice, nHeight, ... );
// 폰트 Point 크기(pt) ⇒ 논리 크기(-)로 변환
//
//ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
// 2019.04.09.(화) 02_ID3DXFont_Rendering_VS2013-문자출력
// ID3DXFont_Rendering_VS2013_02 ; 문자출력 - DrawText( ... );
// LPD3DXSPRITE g_pTextSprite = NULL;
// LPD3DXFONT pFont = NULL;
//
//ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
// 2019.04.08.(월)
// 01_ID3DXFont_Rendering_VS2013
//
//=============================================================================
// File: CreateDevice.cpp
// ...
// Copyright (c) Microsoft Corporation. All rights reserved.
//
////////////////////////////////////////////////////////////////////////////////

Backward Forward Post Reply List