如题所述
å¦ä½å¦ä¹ Cè¯è¨çGUI
主è¦æå ä¸ªå ³é®é®é¢å¼æ¸ æ¥ï¼æ¯ä¸ªæ¡æ¶é½æä¸åçæ¹æ¡è§£å³è¿å 个é®é¢ã
1. æä¹æè¿°çé¢ã
ä¸è¬é½æ¯ç±»ä¼¼xmlçæ ç»ææ¥æè¿°
2. æä¹render, refresh
æ¿å°object tree/render treeä¹åï¼ å¦ä½æè¿ä¸ªä¸è¥¿ç»åºæ¥å°framebufferä¸ï¼ cpuï¼gpuï¼ä»¥ä»ä¹æ ¼å¼ï¼nodeçç¶ææ¹åä¹åï¼ æä¹å·æ°ï¼ä»ä¹æ¶åå·æ°ã
3. å¦ä½ç®¡çè¿ä¸ªtreeã
clip, transparentççå±æ§æä¹å¤ç, layoutæä¹ç®¡çï¼parentå ³æäºæä¹å¤çåèç¹? ...
4. ç¨æ·ç¹å»è¿é该æä¹åï¼(user event handling)
æ éè¿å ç§åæ³
function pointer(Callback) æè signal/slot æè observer interfaceï¼ registrationã
5. event handle (system event handling)
è¿æ¯æ¯4æ´å¹¿ä¹çé®é¢ï¼
a. input device trigged, åIRQï¼ kernelå¤çï¼ ä¸¢ç»frameworkçhandler.
b. æå æ¾å ¥ event queue.
c. loop engine dispatches event: (key events sent to widget has the focus, mouse event to widget under cursor).
d. if target dont have handler for this event, bubble up to the root node until someone accpet it.
5. MVC çå ·ä½ç»èåjargon
6. å¤çº¿ç¨ï¼ IPCï¼ shared memoryé®é¢
主è¦æå ä¸ªå ³é®é®é¢å¼æ¸ æ¥ï¼æ¯ä¸ªæ¡æ¶é½æä¸åçæ¹æ¡è§£å³è¿å 个é®é¢ã
1. æä¹æè¿°çé¢ã
ä¸è¬é½æ¯ç±»ä¼¼xmlçæ ç»ææ¥æè¿°
2. æä¹render, refresh
æ¿å°object tree/render treeä¹åï¼ å¦ä½æè¿ä¸ªä¸è¥¿ç»åºæ¥å°framebufferä¸ï¼ cpuï¼gpuï¼ä»¥ä»ä¹æ ¼å¼ï¼nodeçç¶ææ¹åä¹åï¼ æä¹å·æ°ï¼ä»ä¹æ¶åå·æ°ã
3. å¦ä½ç®¡çè¿ä¸ªtreeã
clip, transparentççå±æ§æä¹å¤ç, layoutæä¹ç®¡çï¼parentå ³æäºæä¹å¤çåèç¹? ...
4. ç¨æ·ç¹å»è¿é该æä¹åï¼(user event handling)
æ éè¿å ç§åæ³
function pointer(Callback) æè signal/slot æè observer interfaceï¼ registrationã
5. event handle (system event handling)
è¿æ¯æ¯4æ´å¹¿ä¹çé®é¢ï¼
a. input device trigged, åIRQï¼ kernelå¤çï¼ ä¸¢ç»frameworkçhandler.
b. æå æ¾å ¥ event queue.
c. loop engine dispatches event: (key events sent to widget has the focus, mouse event to widget under cursor).
d. if target dont have handler for this event, bubble up to the root node until someone accpet it.
5. MVC çå ·ä½ç»èåjargon
6. å¤çº¿ç¨ï¼ IPCï¼ shared memoryé®é¢
温馨提示:答案为网友推荐,仅供参考