기본 소개 중국어 이름: MiniGUI 창업자: 베이징 파인만 소프트웨어 기술유한공사 소속: 오픈 소스 Linux 그래픽 사용자 인터페이스 지원 시스템 애플리케이션 범위: 통신, 의료, 산업 제어, 전자 프로필, 특징 및 이점, 기술적 특징, MiniGUI V3.0 의 기술적 이점, 운영 모드, Miniggs MiniGUI-standalone, 소프트웨어 아키텍처, 그래픽 추상화 계층, 입력 추상화 계층, 그래픽 장치 인터페이스, 메시지 처리 모듈, 다중 창 처리 모듈 및 제어, 모양 지원, 소개 MiniGUI 는 고급 창 시스템 및 그래픽 사용자 인터페이스 (GUI)2002 년입니다. 파인만 소프트웨어는 중국이 오픈 소스 커뮤니티에 코드를 가장 많이 기여한 소프트웨어 기업이다. GPL 라이센스 MiniGUI 의 최신 버전은 1.6. 10 입니다. MiniGUI 2.0.4 부터 MiniGUI 는 상업용 라이센스를 사용하여 다시 작성되었습니다. 지난 10 여 년 동안 MiniGUI 는 Linux/uClinux, eCos, uC/OS-II, VxWorks, ThreadX, Nucleus 를 지원하는 뛰어난 성능과 풍부한 기능을 갖춘 크로스 운영 체제 내장형 그래픽 사용자 인터페이스 지원 시스템이 되었습니다 검증된 하드웨어 플랫폼으로는 ARM 기반 SOC, MIPS 기반 SOC, IA 기반 SOC, PowerPC, M68K (드래곤 볼 /ColdFire), Intel x86 등이 있으며 통신, 의료, 산업 제어, 전력 등에 널리 사용되고 있습니다. MiniGUI 를 이용하여 성공적으로 제품을 개발한 회사는 화웨이, 중흥, 대당 모바일, 창홍, TCL, 레노버, 마이리, 남서, 유리, D2 등이다. 이 사용자들은 중국 본토, 대만, 싱가포르, 한국, 미국, 독일, 이탈리아, 인도, 이스라엘 등의 국가와 지역에 광범위하게 분포되어 있다. 흥미롭게도 우리나라가 자체 개발한 3G 통신 표준인 TD-SCDMA 중 약 60% 가 수신 허가를 받은 TD-SCDMA 휴대폰은 미니구이를 내장형 그래픽 플랫폼으로 사용하여 브라우저, 화상 전화 등 3G 애플리케이션 운영을 지원합니다. Lenovo TD30t, 해신 T68, 중흥 U80 포함 MiniGUI 를 기반으로 파인만 소프트웨어는 mDolphin (오픈 소스 브라우저 core WebKit 기반 임베디드 브라우저, Acid3 벤치마크 만점 통과) 과 mPeer (Java 기술을 사용하여 임베디드 장치에 효율적인 J2SE AWT/Swing 구현 지원) 을 개발하여 ECLL 을 개발했습니다. 20 10 년, 파인만 소프트웨어는 최신 버전의 MiniGUI, mDolphin, mPeer, mStudio 시스템을 통합하고/를 통합하는 임베디드 장치용으로 특별히 제작된 빠른 개발 플랫폼인 HybridOS 솔루션을 출시했습니다. 임베디드 장치를 개발하고자 하는 많은 중소기업들은' 코어 및 구동 불안정성',' 교차 컴파일 도구 체인, 기초 라이브러리 대량 결함',' 오픈 소스 소프트웨어 부적격',' 고급 임베디드 개발 엔지니어 부족' 등의 문제를 제거하여 안정적이고 강력한 소형 시스템 핵심을 기반으로 제품 개발에 집중할 수 있습니다. HybridOS 는 새로운 비즈니스 라이센스 모델을 채택하여 가격 대비 성능이 매우 높습니다. 20 10 년 9 월 현재 MiniGUI 의 최신 버전은 3.0. 10 이며 MiniGUI 는 HybridOS 의 일부로 계속 진화할 것입니다. Hybridos 를 임베디드 개발 플랫폼으로 사용하는 신규 및 기존 사용자를 추천하면 상당한 개발 비용과 시간을 절약할 수 있습니다. (출처 개요:) 기능 및 이점 MiniGUI 는 임베디드 Linux 시스템을 위한 완벽한 그래픽 시스템 지원을 제공하며, 세계 유일의 임베디드 Linux 용 상용 임베디드 GUI 시스템 중 하나입니다. MiniGUI 는 임베디드 Linux 시스템을 위한 완벽한 멀티프로세스 지원을 제공합니다. MiniGUI- 프로세스, MiniGUI- 스레드 또는 MiniGUI- 독립의 세 가지 모드로 실행할 수 있습니다. 기술적 특징 하드웨어 적응성: ix386, ARM, MIPS, PowerPC 등 MMU (메모리 스냅인) 가 장착된 다양한 32 비트 프로세서 아키텍처에서 실행할 수 있습니다. 흑백 LCD 와 같은 로우엔드 디스플레이 장치와 8 비트 컬러 이상 디스플레이 장치를 지원합니다. MiniGUI 의 그래픽 추상화 계층 및 그래픽 엔진 기술을 통해 YUV 디스플레이 장치와 같은 특수 디스플레이 장치를 지원할 수 있습니다. 디스플레이 장치의 해상도에는 최대 및 최소 제한이 없습니다. 보조 화면 지원. 시스템에 여러 개의 비디오 장치가 있는 경우, MiniGUI 의 주 화면으로 완전한 다중 창 시스템을 구현할 수 있습니다. 기타 장치는 MiniGUI 의 그래픽 인터페이스를 통해 텍스트 렌더링, 그래픽 디스플레이 등의 기능을 제공하는 하위 화면입니다. PC 키보드, PC 마우스, 키패드, 터치스크린, 리모컨 등 다양한 입력 장치를 지원합니다. 다양한 키보드 레이아웃을 지원합니다. MiniGUI 는 일반적인 미국식 PC 키보드 레이아웃뿐만 아니라 프랑스어, 독일어 등 서유럽어 언어의 키보드 레이아웃도 지원합니다. 리소스 소비: MiniGUI 의 정적 스토리지는 구성 옵션에 따라 다르며 최소한 1MB 의 정적 스토리지 공간을 차지해야 합니다. MiniGUI 가 시작된 후 처음에 1MB 의 동적 스토리지 공간을 사용했습니다. 시스템 메모리가 8MB 보다 큰 것이 좋습니다. 운영 체제 적응성: Linux 운영 체제 (uClinux 운영 체제 아님) 지원, MiniGUI- 프로세스, MiniGUI- 스레드 또는 MiniGUI- 독립형 3 가지 운영 모드에서 실행 가능. 기본 제공 리소스 지원. MiniGUI 에서 사용하는 비트맵, 아이콘, 글꼴 등의 리소스를 라이브러리로 컴파일하여 MiniGUI 초기화 속도를 높일 수 있으며 파일 시스템 지원이 없는 실시간 임베디드 운영 체제에 적합합니다. 범용 I/O 스트림 작업, 바이트 순서 관련 함수 등을 포함한 임베디드 시스템에 대한 특수 지원 Windows 하위 시스템 기능: 전체 다중 창 및 메시지 전송 메커니즘. MiniGUI-Threads 실행 모드를 사용하면 서로 다른 스레드에 주 창을 만들고 스레드 간 메시지 전송을 지원할 수 있습니다. MiniGUI-Processes 실행 모드를 사용할 때 전체 다중 프로세스 windows 시스템을 지원합니다. 대화상자 및 메시지 상자 지원. 정적 텍스트 상자, 버튼, 단일 행 및 여러 줄 편집 상자, 목록 상자, 콤보 상자, 메뉴 버튼, 진행률 표시줄, 슬라이더, 등록 정보 페이지, 도구 모음, 트리 컨트롤, 달력 컨트롤, 노브 컨트롤, 쿨 도구 모음, 그리드 컨트롤, 애니메이션 컨트롤 등 일반적인 컨트롤 범주를 제공합니다. 메뉴, 가속기, 카트, 타이머 등을 포함한 기타 GUI 요소. 그래픽 하위 시스템 기능: 래스터 연산, 복합 영역 처리, 타원, 호, 다각형, 영역 채우기 등 향상된 GDI 기능을 제공합니다. C99 사양과 호환되는 수학 라이브러리 플랫폼에는 선가중치, 선종류 및 채우기 방법을 설정할 수 있는 고급 2d 제도 기능이 있습니다. 이러한 고급 GDI 인터페이스는 MiniGUI 의 그래픽 추상화 계층 및 그래픽 엔진 기술을 통해 로우 엔드 디스플레이에서도 사용할 수 있습니다. Windows BMP, GIF, JPEG, PNG 등 널리 사용되는 이미지 파일을 지원합니다. JPEG 및 PNG 지원은 libjpeg 및 libpng 라이브러리를 통해 제공됩니다. 비트맵, 아이콘, 커서 등과 같은 Windows 리소스 파일 지원. 다중 문자 세트 및 다중 글꼴 지원. 현재 gbk iso8859-1~ iso8859-15, GB23 12, GB180 고정 폭 래스터 글꼴, 가변 폭 래스터 글꼴, Qt/Embedded 에서 사용되는 포함 글꼴 QPF, 트루타입 벡터 글꼴 지원 (트루타입 지원은 TrueType1.3 라이브러리를 통해 제공). 다양한 가능한 입력 형식을 제공하는 입력기 지원 내부 코드, 전체 철자, 스마트 병음, 오비, 자연코드 등을 포함한 PC 플랫폼용 한자 (GB23 12) 입력기 지원이 내장되어 있습니다. MiniGUI 의 기술적 이점 MiniGUI 는 다른 임베디드 제품 그래픽 시스템에 비해 시스템 요구 사항 면에서 다음과 같은 장점을 가지고 있습니다. 확장성. MiniGUI 는 CPU 주파수가 60MHz 인 로우엔드 제품뿐만 아니라 하이엔드 임베디드 장치에서도 실행할 수 있는 다양한 기능과 구성 가능한 기능을 갖추고 있으며, MiniGUI 의 고급 제어 스타일과 스킨 인터페이스 기술을 사용하여 화려한 사용자 인터페이스를 만들 수 있습니다. MiniGUI 의 크로스 운영 체제 기능을 통해 MiniGUI 는 uC/OS-II 와 같은 가장 간단한 임베디드 운영 체제 또는 Linux 와 같은 최신 운영 체제 기능을 갖춘 임베디드 운영 체제에서 실행될 수 있습니다. MiniGUI 는 임베디드 Linux 시스템을 위한 완벽한 멀티윈도우 그래픽 환경을 제공합니다. 이러한 기능을 통해 MiniGUI 는 확장성이 매우 뛰어납니다. MiniGUI 는 디자인 초기부터 확장성을 고려하고 향상시켰습니다. 이러한 기능을 통해 MiniGUI 는 단순한 산업 터미널과 복잡한 소비자 전자 제품에 적용할 수 있습니다. 경량급으로 자원 소모가 적다. MiniGUI 는 시스템 리소스에 대한 수요가 임베디드 장치의 하드웨어 상태를 충분히 고려한 경량 임베디드 그래픽 라이브러리입니다. 예를 들어, MiniGUI 라이브러리가 차지하는 최소 공간은 500K 정도로 줄일 수 있어 현재 임베디드 장치에 충분합니다. 또한 테스트 결과에 따르면 MiniGUI 는 CPU 클럭 30 MHz, RAM 은 4M (uClinux 운영 체제 사용) 에 불과한 시스템에서 제대로 작동할 수 있으며, 이는 다른 임베디드 제품 그래픽 시스템과는 비교가 되지 않습니다. 고성능 및 신뢰성. MiniGUI 의 우수한 아키텍처와 최적화된 그래픽 인터페이스는 가장 빠른 그래픽 렌더링 속도를 보장합니다. 디자인 초기에는 실시간 임베디드 시스템의 특징을 충분히 고려하였으며, 다중 창 환경에서의 그래픽 페인팅을 위해 많은 연구가 이루어졌으며, MiniGUI 의 그래픽 렌더링 성능과 자원 활용을 최적화했습니다. 많은 실제 시스템에서 MiniGUI 의 응용 프로그램, 특히 산업 제어 시스템의 응용 프로그램은 MiniGUI 가 매우 우수한 성능을 가지고 있음을 증명합니다. 1999 초판 MiniGUI 출시 이후 많은 제품과 프로젝트가 MiniGUI 를 사용하고 있으며, MiniGUI 는 이러한 제품이나 프로젝트로부터 발전 동력과 새로운 기술 요구 사항을 지속적으로 확보하여 신뢰성과 견고성을 높이고 있습니다. MiniGUI 의 최신 성공 이야기에 대해서는 파인만 웹 사이트의 전형적인 사례 섹션을 방문하실 수 있습니다. 구성성. 임베디드 시스템의 다양한 요구 사항을 충족하기 위해 GUI 시스템을 구성할 수 있어야 합니다. Linux 커널과 마찬가지로 MiniGUI 는 MiniGUI 라이브러리에 포함되는 함수를 지정할 수 있는 다양한 컴파일 구성 옵션을 구현합니다. 일반적으로 MiniGUI 는 MiniGUI 가 실행될 하드웨어 플랫폼을 지정하여 사용자 정의할 수 있습니다. MiniGUI 가 실행될 운영 체제를 지정합니다. 스레드 기반 MiniGUI- 스레드 실행 모드, 프로세스 기반 MiniGUI- 프로세스 실행 모드 또는 가장 간단한 MiniGUI- 독립형 실행 모드만 생성할지 여부를 지정합니다. 지원할 GAL 및 IAL 엔진과 엔진 관련 옵션을 지정합니다. 지원해야 하는 글꼴 유형을 지정합니다. 지원해야 하는 문자 세트를 지정합니다. 지원해야 하는 이미지 파일 형식을 지정합니다. 지원이 필요한 컨트롤 클래스를 지정합니다. 다른 렌더러를 지정하여 컨트롤 및 창의 전체 스타일을 지정할 수 있습니다. 이러한 구성 옵션을 통해 MiniGUI 의 유연성이 크게 향상되었습니다. 사용자들에게 Dell 은 특정 애플리케이션 요구 사항에 맞게 애플리케이션 소프트웨어를 맞춤형으로 구성하여 제품 요구 사항에 가장 적합한 애플리케이션 소프트웨어를 개발할 수 있습니다. 결론적으로 현대 windows 및 그래픽 기술을 임베디드 장치에 도입한 MiniGUI 는 효율적이고 안정적이며 사용자 정의 가능하며 컴팩트하며 유연한 그래픽 사용자 인터페이스 지원 시스템으로 실시간 임베디드 장치에 적합합니다. 주요 이점은 다음과 같이 요약할 수 있습니다. 다양한 임베디드 운영 체제를 지원하고 이식성이 뛰어납니다. 쉽게 확장할 수 있는 확장 가능한 시스템 아키텍처 풍부한 기능, 유연한 자르기; 작은 크기와 고성능의 최적 균형; 응용범위가 넓다. MiniGUI 3.0 은 이전 버전을 기반으로 다음과 같은 새로운 기능을 추가했습니다. 이중 버퍼 주 창 MiniGUI 3.0 의 주 창에 이중 버퍼가 있을 경우 사용자 정의 버퍼에서 전체 주 창의 렌더링 결과를 얻을 수 있습니다. 이를 바탕으로 고급 2D 그래픽 인터페이스 또는 3D 그래픽 인터페이스를 사용하여 푸시 풀 전환, 페이지 넘기기 전환, 컬링 효과 등 주 창의 다양한 특수 디스플레이 효과를 얻을 수 있습니다. 모양 렌더러 지원. MiniGUI V3.0 은 이전에는 세 가지 컨트롤 스타일만 지원했던 방식을 바꾸어 새로운 인식 모드를 도입했습니다. 렌더러는 창 요소를 그리는 방법을 정의하는 렌더러로 MiniGUI V2.0.X 를 기반으로 개선되었습니다. 창 요소에는 테두리, 제목 표시줄, 제목 표시줄 버튼, 스크롤 막대, 선택, 잘못된 항목, 강조 표시, 강조 표시, 3D 오브젝트 등이 포함됩니다. 창 요소의 색상, 크기, 글꼴 등의 정보를 포함한 창 요소의 모양 속성 창 요소 렌더러는 사용자 정의 창 요소의 크기, 색상, 그래픽 및 글꼴로, 사용자가 개인화된 모양 표시 스타일을 쉽게 디자인할 수 있도록 합니다. 특정 렌더러를 사용할 주 창 또는 컨트롤을 지정할 수 있으며, 비 클라이언트 영역 렌더러 및 창 요소의 크기, 색상, 글꼴 및 아이콘을 사용자 정의할 수 있으며, 리소스 관리 기능을 향상시켜 보다 화려한 그래픽 인터페이스를 얻을 수 있습니다. MiniGUI 는 클래식, 평면, 패션, 피부 등 몇 가지 기본 전체 디스플레이 스타일을 구현합니다. MiniGUI 를 구성할 때 MiniGUI 를 특정 디스플레이 스타일로 컴파일하는 옵션을 지정할 수 있습니다. 클래식: 이 스타일의 인터페이스는 표준 Window 95 스타일 인터페이스이며 가장 널리 사용되는 스타일입니다. 스타일리시함: 이 스타일의 인터페이스는 MiniGUI 3.0 구성 요소인 mGPlus 에서 제공하는 색상 그라데이션 채우기 기술을 사용하여 매우 눈부신 인터페이스 효과를 제공합니다. 평면: 이 스타일의 창 인터페이스 라인은 선명하고 간결해 단색 또는 그레이스케일 디스플레이에 적합합니다. 렌더링은 간단하기 때문에 렌더러가 차지하는 자원이 가장 적고 실행 속도가 가장 빠릅니다. 피부: 위의 세 가지 모양 렌더러는 기본적으로 코드 페인팅으로 작고 유연합니다. 그러나 임베디드 애플리케이션 분야에서는 장치 간의 차이가 매우 큽니다. 일부 장치는 이미 매우 높은 컴퓨팅 성능을 가지고 있습니다. 이 경우 스킨 모양 렌더러를 사용하여 인터페이스를 미화하는 것을 고려해 볼 수 있습니다. 스킨 모양 렌더러에는 인터페이스와 관련된 전체 이미지 세트가 필요하므로 일부 스토리지 리소스가 필요합니다. 스킨 스킨 렌더러의 가장 큰 특징은 사용자가 인터페이스를 사용자 정의할 수 있다는 것입니다. 사용자는 시스템의 원래 그림을 자신이 디자인한 그림으로 대체할 수 있으며, 사용자에게 보여주는 것은 당신이 디자인한 인터페이스 효과입니다. BIDI 텍스트 표시 및 입력. 잘 알려진 바와 같이 왼쪽에서 오른쪽으로 쓰는 것 (예: 영어와 중국어) 외에도 오른쪽에서 왼쪽으로 쓰는 습관을 사용하는 언어가 많이 있습니다 (예: 아랍어와 히브리어). 이러한 언어를 지원하기 위해 MiniGUI 3.0 은 두 언어에 속하는 문자 세트에 대한 처리를 추가하고 아랍어와 히브리어 키보드 레이아웃에 대한 지원을 추가하여 양방향 텍스트의 입력 및 출력 처리를 가능하게 했습니다. 아랍어와 히브리어는 보여줍니다. 불규칙한 창. MiniGUI V3.0 은 창 모양에 대한 사용자의 다양한 요구를 충족할 수 있는 불규칙한 창과 컨트롤을 구현합니다. 불규칙한 윈도우는 영역 데이터 구조를 통해 보이는 영역을 나타내거나 8 비트 MYBITMAP 의 투명 값을 통해 보이지 않는 영역을 형성합니다. 서체. MiniGUI 3.0 에서 Flyover 소프트웨어는 "UPF" 글꼴이라는 새로운 유니코드 글꼴 파일 형식을 개발했습니다. 이 글꼴의 가장 큰 특징은 다중 프로세스 환경에서 쉽게 사용할 수 있어 메모리 사용을 크게 절약할 수 있다는 것입니다. 한편 Flyover 소프트웨어는 VBF 글꼴 형식을 향상시키고, VBF 글꼴을 3.0 으로 업그레이드하고, 아랍어 및 기타 언어와 문자의 표시를 지원하기 위해 적용 가능한 문자 세트 범위를 확대했습니다. 기타 개선 사항. MiniGUI 3.0 은 데스크톱 사용자 정의를 실현했습니다. 바탕 화면의 외부 프로그래밍 인터페이스를 통해 사용자는 바탕 화면에 아이콘을 배치하고 바탕 화면 이벤트를 반향시켜 Windows 바탕 화면과 비슷한 인터페이스 효과를 얻을 수 있습니다. 또한 MiniGUI 3.0 은 투명한 컨트롤 항목의 구현을 강화하여 보다 효율적으로 만들고 컨트롤 항목의 내부 구현 코드와 독립적입니다. 또한 MiniGUI 3.0 은 별도의 스크롤 막대 컨트롤, 통합 가상 프레임 버퍼 지원 등을 제공합니다. 또한 최신 MiniGUI V3.0 에는 글꼴, 비트맵, 아이콘, 커서 등의 리소스를 통합적으로 관리하는 mGUtils 와 mGPlus 라는 두 가지 구성 요소가 추가되었습니다. 리소스의 포함 및 비포함 방식은 모듈의 구성에 영향을 주지 않으므로 시스템 리소스 관리 모듈을 추상화합니다. 기존의 임베디드 운영 체제는 UNIX 와 같은 유닉스 운영 체제에 비해 전반적으로 몇 가지 특수성을 가지고 있습니다. UClinux, uC/OS-II, eCos 등의 운영 체제. 일반적으로 MMU (가상 메모리 지원을 제공하는 메모리 스냅인) 가 없는 CPU 에서 실행됩니다. 이때 종종 프로세스의 개념이 없고, 스레드나 작업의 개념만 있을 뿐, MiniGUI 의 운영 환경은 크게 다르다. 따라서 서로 다른 운영 체제 환경에 적응하기 위해 MiniGUI 는 세 가지 실행 모드로 구성할 수 있습니다. MiniGUI-Threads MiniGUI 에서 실행되는 프로그램 -Threads 는 서로 다른 스레드에서 여러 창을 만들 수 있지만 모든 창은 하나의 프로세스나 주소 공간에서 실행됩니다. 이 작동 모드는 주로 VxWorks, ThreadX, Nucleus, OSE, pSOS, uC/OS-II, eCos 등 대부분의 기존 임베디드 운영 체제를 지원하는 데 사용됩니다. 물론 Linux 와 uClinux 에서도 MiniGUI 를 MiniGUI-Threads 모드에서 실행할 수 있습니다. MiniGUI-Threads 와 달리 MiniGUI-Processes 의 각 프로그램은 별도의 프로세스이며, 각 프로세스는 다중 프로세스 창 시스템을 구현하는 여러 창을 만들 수 있습니다. MiniGUI-Processes 는 임베디드 Linux 와 같은 완전한 UNIX 기능을 갖춘 임베디드 운영 체제에 적합합니다. 이 작동 모드는 MiniGUI V2.0 에서 사용할 수 있습니다. MiniGUI-Standalone 실행 모드에서 MiniGUI 는 다중 스레드 또는 프로세스 지원 없이 독립형 작업으로 실행할 수 있습니다. 이 작동 모드는 단일 기능 응용 프로그램에 적합합니다. 예를 들어, uClinux 를 사용하는 일부 임베디드 제품에서는 여러 가지 이유로 스레드 지원이 부족합니다. 이 시점에서 MiniGUI-Standalone 을 사용하여 응용 프로그램 소프트웨어를 개발할 수 있습니다. 일반적으로 MiniGUI-Standalone 모드는 거의 모든 운영 체제를 지원할 수 있는 가장 적응력이 뛰어납니다 (현재는 Linux/uClinux 운영 체제만 지원). MiniGUI-Threads 모드는 두 번째로 가장 적합한 모드이며 멀티태스킹을 지원하는 실시간 임베디드 운영 체제 또는 전체 UNIX 기능을 갖춘 범용 운영 체제에서 실행할 수 있습니다. MiniGUI-Processes 모드는 적용 가능성이 낮으며 Linux 와 같은 완전한 UNIX 기능을 갖춘 임베디드 운영 체제에서만 사용할 수 있습니다. 그러나 어떤 운영 모드를 사용하든 MiniGUI 는 상위 애플리케이션 소프트웨어에 최대한의 일관성을 제공합니다. 소수의 초기화와 관련된 인터페이스만 운영 모드에 따라 다릅니다. 소프트웨어 아키텍처 MiniGUI 는 MiniGUI 소프트웨어 스키마 MiniGUI 소프트웨어 스키마 그래픽 추상화 계층 (GAL) 모듈로 구성됩니다. 그래픽 추상화 계층은 서로 다른 운영 체제 또는 장치에서 그래픽 인터페이스를 추상화하여 MiniGUI 의 상위 계층에 통합 그래픽 인터페이스를 제공합니다. 그래픽 추상화 계층에는 Linux FB 장치, eCos LCD 장치 등에 대한 소프트웨어 구성 요소가 있습니다. 이러한 소프트웨어 구성 요소는 기본 장치의 인터페이스를 호출하여 장치 켜기, 해상도 및 디스플레이 모드 설정, 장치 끄기 등과 같은 구체적인 그래픽 추상화 레이어 작업을 수행합니다. 그래픽 추상화 계층 인터페이스를 수용하는 데 사용되는 이러한 소프트웨어 구성 요소를 엔진이라고 하며 운영 체제의 장치 드라이버와 유사한 개념을 가지고 있습니다. 추상 레이어 (IAL) 를 입력합니다. GAL 과 마찬가지로 입력 추상화 계층은 키보드, 키패드, 마우스, 터치 스크린 등 MiniGUI 와 관련된 모든 입력 장치를 추상화합니다. , 상위 계층에 일관된 인터페이스를 제공합니다. 서로 다른 키보드, 터치 스크린 또는 마우스 인터페이스를 지원하기 위해 IAL 에 대해 서로 다른 입력 엔진을 작성함으로써 구현됩니다. MiniGUI 는 IAL 및 해당 입력 엔진을 통해 Linux 콘솔 (키보드 및 마우스), 터치 스크린, 리모콘, 키패드 등의 입력 장치를 지원합니다. 그래픽 장치 인터페이스 (GDI). 이 모듈은 그래픽 추상화 레이어를 기반으로 상위 응용 프로그램에 곡선 그리기, 텍스트 출력, 사각형 채우기 등의 그래픽 관련 인터페이스를 제공합니다. 그래픽 장치 인터페이스에는 글꼴 및 문자 세트 지원 및 이미지 지원과 같은 기타 독립 하위 모듈이 포함되어 있습니다. 메시지 모듈. 이 모듈은 입력 추상화 계층을 기반으로 MiniGUI 의 메시지 처리 메커니즘을 구현하여 상위 계층에 완벽한 메시지 관리 인터페이스를 제공합니다. 거의 모든 GUI 시스템은 이벤트 기반이며, 시스템 자체와 GUI 어플리케이션의 작동은 메시지 처리 모듈에 따라 달라집니다. 다중 창 처리 모듈 및 컨트롤 (창 모듈 및 (컨트롤 또는 위젯). MiniGUI 는 그래픽 장치 인터페이스 및 메시지 처리 모듈을 기반으로 다중 창 처리 모듈을 구현합니다. 이 모듈은 상위 응용 프로그램에 주 창과 컨트롤을 만드는 기본 인터페이스를 제공하며 컨트롤 클래스를 유지 관리합니다. 컨트롤 항목 클래스는 컨트롤 클래스 코드 재사용을 구현하는 중요한 개념입니다. 통제 항목 분류를 사용하여 하나의 통제 항목 분류에 속하는 복수 통제 항목 인스턴스를 생성할 수 있으므로, 이러한 통제 항목 인스턴스는 동일한 통제 항목 분류 코드를 사용할 수 있습니다. 이렇게 하면 C++ 와 같은 클래스 및 인스턴스의 개념을 구현하여 기존 코드를 최대한 재사용하고 소프트웨어 서비스 기능을 향상시킬 수 있습니다. MiniGUI 의 컨트롤 모듈은 정적 상자, 버튼, 편집 상자, 목록 상자, 드롭다운 상자 등과 같은 일반적인 GUI 컨트롤을 구현합니다. 외관과 느낌. 이 모듈은 MiniGUI V3.0 이 상위 계층 애플리케이션에 제공하는 인터페이스로, MiniGUI 창과 컨트롤의 그리기를 사용자 정의하는 데 사용할 수 있습니다. MiniGUI V3.0 이전에는 기본 창과 컨트롤 항목의 사용자 정의 기능이 분리되어 별도의 모듈을 형성하지 못했지만, MiniGUI 의 기본 창과 컨트롤 항목은 구성 옵션을 통해 PC 3 차원 스타일 (PC3D), 편평화 스타일, 패션 스타일 등 세 가지 디스플레이 스타일을 사용할 수 있습니다. MiniGUI 3.0 에서는 응용 프로그램이 주 창과 컨트롤의 모양을 완전히 사용자 정의할 수 있습니다. 주 창 또는 컨트롤을 만들 때 모양 렌더러의 이름을 지정하여 주 창 또는 컨트롤의 모양을 다르게 만들 수 있습니다. MiniGUI 의 핵심 인터페이스 위에는 애플리케이션에 몇 가지 특수한 기능 기능을 제공하는 몇 가지 구성 요소가 있습니다. mGi 는 MiniGUI 의 입력기 구성 요소로서, 현재 소프트 키보드 입력기 및 필기 입력기 프레임워크를 제공하고, 사용자가 사용자 정의 입력기 를 추가할 수 있는 입력기 관리 컨테이너를 제공합니다. MGp 는 MiniGUI 응용 프로그램의 인쇄 구성 요소로, 사용자의 MiniGUI 프로그램이 MiniGUI 프로그램의 비트맵 또는 텍스트를 인쇄하고 프린터로 출력할 수 있도록 합니다. MG3d 는 MiniGUI 응용 프로그램에 3d 인터페이스를 제공하는 구성 요소입니다. 이러한 인터페이스를 통해 사용자는 자신의 응용 프로그램에 3D 이미지, 텍스트 렌더링, 장면 렌더링 등의 효과를 추가하여 3D 인간-기계 인터페이스를 가질 수 있습니다. MGUtils 구성 요소는 사용자에게 몇 가지 일반적인 대화 상자 템플릿을 제공합니다. 이러한 템플릿을 사용하면 사용자가 자주 사용하는 함수에 대해 중복 코드를 작성할 필요가 없습니다. 이 컴포넌트에서 제공하는 기능 템플릿에는 일반 파일 대화상자, 색상 설정 대화상자, 글꼴 설정 대화상자, 정보 설정 대화상자 등이 있습니다. MGPlus 구성 요소는 MiniGUI 그래픽 드로잉 인터페이스의 확장 및 향상으로 주로 2d 벡터 그래픽 및 패스, 그래디언트 채우기, 색상 조합 등의 고급 그래픽 알고리즘을 지원합니다. MGEff 구성 요소는 일반적인 페이지 효과 지원을 제공합니다.