X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbcresources.C;h=3fa8bed1f53ba30d891a90a65d13ded8a7107dac;hb=6fe3a7db96c23e9e21b5cc3ef853d6a6ff5cd19d;hp=2683bd20ba0d6407ef2147eb56b05dcc25683184;hpb=0df48ad2d876409c5beeae2e21933a728ea76c33;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/guicast/bcresources.C b/cinelerra-5.1/guicast/bcresources.C index 2683bd20..3fa8bed1 100644 --- a/cinelerra-5.1/guicast/bcresources.C +++ b/cinelerra-5.1/guicast/bcresources.C @@ -39,6 +39,9 @@ #include #include #include +#if defined(__FreeBSD__) +#include +#endif #include #include #include @@ -298,6 +301,7 @@ int BC_Resources::machine_cpus = 1; int BC_Resources::get_machine_cpus() { +#if !defined(__FreeBSD__) int cpus = 1; FILE *proc = fopen("/proc/cpuinfo", "r"); if( proc ) { @@ -315,6 +319,14 @@ int BC_Resources::get_machine_cpus() fclose(proc); } return cpus; +#else + int mib[2], ncpu; + size_t len = sizeof(ncpu); + mib[0] = CTL_HW; + mib[1] = HW_NCPU; + if( sysctl(mib, 2, &ncpu, &len, 0, 0) ) ncpu = 1; + return ncpu; +#endif } void BC_Resources::new_vframes(int n, VFrame *vframes[], ...) @@ -362,27 +374,24 @@ VFrame *BC_Resources::default_vscroll_data[10] = { 0, }; VFrame *BC_Resources::default_hscroll_data[10] = { 0, }; VFrame *BC_Resources::default_icon_img = 0; -BC_Resources::BC_Resources() +BC_Resources::BC_Resources(float x_scale, float y_scale) { + BC_WindowBase::resources = this; synchronous = 0; vframe_shm = 0; - double default_scale = 1; - char *env = getenv("BC_SCALE"); - if( !env ) { - BC_DisplayInfo info; - int wx, wy, ww, wh; - int cins = info.xinerama_big_screen(); - if( !info.xinerama_geometry(cins, wx, wy, ww, wh) ) { - x_scale = ww / 1920.; - y_scale = wh / 1080.; - default_scale = bmin(x_scale, y_scale); - } - } - else { - if( (default_scale = atof(env)) <= 0 ) default_scale = 1; - x_scale = y_scale = default_scale; - } - env = getenv("BC_FONT_DEBUG"); +#if !defined(__FreeBSD__) + use_shm = -1; + shm_reply = 1; +#else + use_shm = 0; + shm_reply = 0; +#endif + if( x_scale <= 0 ) x_scale = 1; + if( y_scale <= 0 ) y_scale = x_scale; + this->x_scale = x_scale; + this->y_scale = y_scale; + float default_scale = bmin(x_scale, y_scale); + const char *env = getenv("BC_FONT_DEBUG"); font_debug = env ? atoi(env) : 0; env = getenv("BC_FONT_SCALE"); font_scale = env ? atof(env) : default_scale; @@ -766,9 +775,6 @@ new_vframes(10,default_vscroll_data, generic_button_margin = xS(15); draw_clock_background=1; - use_shm = -1; - shm_reply = 1; - // Initialize bg_color = ORANGE; bg_shadow1 = DKGREY; @@ -795,6 +801,7 @@ new_vframes(10,default_vscroll_data, button_uphighlighted = RED; // upper side when highlighted tumble_data = 0; + tumblepatch_data = 0; tumble_duration = 150; ok_images = default_ok_images; @@ -866,14 +873,14 @@ new_vframes(10,default_vscroll_data, filebox_columntype[1] = FILEBOX_SIZE; filebox_columntype[2] = FILEBOX_DATE; filebox_columntype[3] = FILEBOX_EXTENSION; - filebox_columnwidth[0] = xS(200); + filebox_columnwidth[0] = xS(300); filebox_columnwidth[1] = xS(100); - filebox_columnwidth[2] = xS(100); - filebox_columnwidth[3] = xS(100); + filebox_columnwidth[2] = xS(150); + filebox_columnwidth[3] = xS(49); dirbox_columntype[0] = FILEBOX_NAME; dirbox_columntype[1] = FILEBOX_DATE; - dirbox_columnwidth[0] = xS(200); - dirbox_columnwidth[1] = xS(100); + dirbox_columnwidth[0] = xS(400); + dirbox_columnwidth[1] = xS(199); filebox_text_images = default_filebox_text_images; filebox_icons_images = default_filebox_icons_images; @@ -1866,7 +1873,7 @@ void BC_Resources::encode_to_utf8(char *buffer, int buflen) { if(BC_Resources::locale_utf8) return; char lbuf[buflen]; - encode(encoding, 0, buffer, buflen, lbuf, buflen); + encode(encoding, 0, buffer, -1, lbuf, buflen); strcpy(buffer, lbuf); }