目前日期文章:200802 (12)

瀏覽方式: 標題列表 簡短摘要
下面是 patch
diff -ruN fltk-1.1.7-old/src/Fl_x.cxx fltk-1.1.7-new/src/Fl_x.cxx

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()


顏色
  1. 預設值放在 samples/parse_display_cmdline.c 中的 output_basic_setup 及 clear_display_options 函數中。
  2. RUASetProperty(dcc_info->pRUA, VideoConnectorModuleID, RMGenericPropertyID_Contrast, &(contrast), sizeof(contrast), 0)
  3. RMGenericPropertyID_Contrast 對比。
  4. RMGenericPropertyID_CbSaturation 彩度。
  5. RMGenericPropertyID_CrSaturation 彩度。
  6. RMGenericPropertyID_Brightness 亮度。
  7. RMGenericPropertyID_Hue 色相。
聲音
  1. 預設值放在 DCCOpenAudioDecoderSource 及 DCCOpenMultipleAudioDecoderSource 函數中。
  2. DCCSP(pDCC->pRUA, audio_engine, RMAudioEnginePropertyID_Volume, &volume, sizeof(volume))
  3. volume 的值在 VolumeTable 陣列中。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()


  1. 繼承 Fl_Group 類別,所以一樣需要 begin() 開頭及 end() 結尾來佈置空間。
  2. 每一個 tab 都是用 Fl_Group 所組合而成,但是不可以 Fl_Window 來組合。
  3. 所有的座標都以 Fl_Window 的座標為相對座標,而不是以每一個 Fl_Group 的座標來算。
  4. tab 的高度決定於 Fl_Tabs 與 Fl_Group 的 top 二者的距離。
  5. tab 的寬度決定於 Fl_Tabs 的 label 字符寬度。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()


insmod 前
em86xx[init.d]# free
              total         used         free       shared      buffers
  Mem:        30408         9440        20968            0          636
 Swap:            0            0            0
Total:        30408         9440        20968

insmod 後
em86xx[2.4.26-em86xx]# insmod llad.o
Using llad.o
Warning: loading llad will taint the kernel: non-GPL license - LGPL
  See http://www.tux.org/lkml/#export-tainted for information about tainted modules
em86xx[2.4.26-em86xx]# insmod em8xxx.o
Using em8xxx.o
Warning: loading em8xxx will taint the kernel: non-GPL license - Proprietary
  See http://www.tux.org/lkml/#export-tainted for information about tainted modules
em86xx[2.4.26-em86xx]# free
              total         used         free       shared      buffers
  Mem:        30408        18096        12312            0          636
 Swap:            0            0            0
Total:        30408        18096        12312
em86xx[2.4.26-em86xx]#

  1. 使用量:20968-12312=8656
  2. ...
  3. ...
  4. ...

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()


make linux kernel support
  1. make linux-config
  2. Character device -->
  3. EM86XX IR remote support
  4. make it seleted.
source code
  1. kernel source code: build_arm/linux-2.4.26-em86xx/drivers/char/irkernel.c
  2. test source code:peripherals/ir_remote/*.*

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()


  1. 副檔名為 .c 的檔案由 C compiler 編譯。
  2. 副檔名為 .cpp 的檔案由C++ compiler 編譯。
  3. 每個 function 都有供內部使用的名稱,且在 C 與 C++ 之下的內部名稱並不相同。
    例如:
    
    void plus(int a, int b);
    
    其在C之下的內部名稱可能是 _plus;
    而在C++之下的內部名稱卻是 _plus_int_int
    (註:也正因為如此C++才能overload名字相同,但參數的變數型態不同的functions)
        
    
  4. 當compiler在編譯一個function時,compiler會產生一個內部名稱。
    以下是各種可能發生的情況:
    @ 當 C compiler 看到一個正常的 function 的宣告(declaration, function prototype),它永遠都產生 C style 的內部名稱。
    @ 當 C++ compiler 看到一個正常的 function 的宣告,它產生 C++ style 的內部名稱。
    @ 當 C++ compiler 看到一個使用 extern "C" function 的宣告,它產生 C style 的內部名稱。
  5. 當 compiler 在編譯一個 function call 時,compiler 會它會使用內部名稱。之後,linker 再用該內部名稱去找那個 function。
    以下是各種可能發生的情況:
    @ 當 C compiler 看到一個 function call (該 function 正常宣告), 它會使用 C style 的內部名稱(永遠如此)。 之後,linker 用該內部名稱去 locate 該 function。
    @ 當 C++ compiler 看到一個 function call (該 function正常宣告), 它會使用 C++ style 的內部名稱。 之後,linker 用該內部名稱去 locate 該 function。
    @ 當 C++ compiler 看到一個 function call (該 function 的宣告出現在 extern "C" scope (一對大括弧)中,它會使用 C style 的內部名稱。 之後,linker 用該內部名稱去 locate 該 function。
  6. 當 compiler 和 linker 的內部名稱不是相同的 style, 則 Linking 時會產生連接錯誤。
  7. 重點一:在 .c 內不要使用到 C++ 的函數,會 link 不到。
  8. 重點二:同上,main 內有混用 C 與 C++ 時,需放在 .cpp 內。
  9. ...
  10. ...

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()


  1. 使用 position(X,Y) 來移動視窗。
  2. 實際上會直接呼叫 resize(X,Y,w_,h_)。
  3. 而真正移動的函數為 XMoveWindow(fl_display, i->xid, X, Y)。
  4. Fl_X *i; // points at the system-specific stuff。
  5. XMoveWindow 則直接呼叫 GrMoveWindow(i->xid, x, y)。
  6. ...
  7. ...

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()


  1. framebuffer 目前使用 16bpp,也就是 RGB565 的格式。
  2. framebuffer 如果使用 24bpp 時,會被當成 32bpp 來使用,也就是使用 RGBA8888 格式,而不是 RGB888 格式。
  3. osdbuf_control -Ftck:16bpp_565,tc: true color,tck: true color with alpha key,alpha key 也就是會穿透的顏色,不具有 alpha 效果。
  4. osdbuf_control -k0,0,0:3,可以用來改變 alpha key,範圍只有 0~15。
  5. 在 FLTK 中,很多地方用到黑色(0,0,0),所以必須改顏色,但是由於是使用 RGB565 的格式,所以黑色須改成 (8,4,8) 而不能改成 (1,1,1)。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

in  src/nanox/sermain.c  line  848
static MWIMAGEBITS cursorbits[16]

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()


  1. in src/fl_color.cxx line 96,有 static unsigned fl_cmap[256] 儲放顏色的對照表。
  2. in src/fl_color.cxx line 309,有 void Fl::set_color(Fl_Color i, unsigned c) 設定顏色對照表。
  3. fl_cmap 的預設值放在 src/fl_cmap.h。
  4. in FL/Enumerations.H line 291,有 enum Fl_Color 的常數定義。
    FL_FOREGROUND_COLOR = 0,0x00000000,也就是黑色,label 及 text 的前景色。
    FL_BACKGROUND_COLOR= 49,0xaaaaaa00,也就是淺灰色,預設的背景色。
    FL_BACKGROUND2_COLOR= 7,0xff00ff00,也就是紫红色,text,list,valuator的背景色。
    FL_INACTIVE_COLOR = 8,0x00ffff00,也就是黄色,無作用的前景色。
    FL_SELECTION_COLOR = 15,0x8e388e00,the default selection/highlight color。
  5. in src/Fl_get_system_colors.cxx line 198, 有 void Fl::get_system_colors() 設定系統的顏色,也就是說上面的東西都是狗屎,沒有用到。 不過,只有在呼叫 Fl_Window::show(int argc, char **argv) 函數時才會有作用, 而呼叫 Fl_Window::show() 是無作用的,也就是使用原來的設定,切記。
  6. in FL/fl_draw.H line 190,有 FL_EXPORT void fl_cursor(Fl_Cursor, Fl_Color=FL_BLACK, Fl_Color=FL_WHITE);,設定游標的顏色。 不過,再 nano-x 是無效的,顏色是內定的,沒法子改變。
  7. ...
  8. ...
  9. ...

台南小新 發表在 痞客邦 PIXNET 留言(3) 人氣()

◎ dirent 結構定義
struct dirent
{
    ino_t d_ino;
    ff_t d_off;
    signed short int d_reclen;
    unsigned char d_type;
    har d_name[256];
};
  • d_ino 此目录进入点的inode
  • d_off 目录文件开头至此目录进入点的位移
  • d_reclen _name的长度,不包含NULL字符
  • d_type d_name 所指的文件类型
  • d_name 文件名


台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

//=============================================================================
// Project:     FLTK

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()