void MMSWindowClass::setAttributesFromTAFF(MMSTaffFile *tafff, string *path, bool reset_paths) { MMSFBColor color; if ((reset_paths)&&(path)&&(*path!="")) { // unset my paths unsetBgImagePath(); } startTAFFScan { switch (attrid) { case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_alignment: setAlignment(getAlignmentFromString(attrval_str)); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_dx: setDx(attrval_str); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_dy: setDy(attrval_str); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_w: setWidth(attrval_str); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_h: setHeight(attrval_str); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_bgcolor: setBgColor(MMSFBColor((unsigned int)attrval_int)); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_bgcolor_a: color.a = color.r = color.g = color.b = 0; if (isBgColor()) getBgColor(color); color.a = attrval_int; setBgColor(color); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_bgcolor_r: color.a = color.r = color.g = color.b = 0; if (isBgColor()) getBgColor(color); color.r = attrval_int; setBgColor(color); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_bgcolor_g: color.a = color.r = color.g = color.b = 0; if (isBgColor()) getBgColor(color); color.g = attrval_int; setBgColor(color); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_bgcolor_b: color.a = color.r = color.g = color.b = 0; if (isBgColor()) getBgColor(color); color.b = attrval_int; setBgColor(color); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_bgimage: if (*attrval_str) setBgImagePath(""); else setBgImagePath((path)?*path:""); setBgImageName(attrval_str); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_bgimage_path: if (*attrval_str) setBgImagePath(attrval_str); else setBgImagePath((path)?*path:""); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_bgimage_name: setBgImageName(attrval_str); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_opacity: setOpacity(attrval_int); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_fadein: setFadeIn((attrval_int) ? true : false); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_fadeout: setFadeOut((attrval_int) ? true : false); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_debug: setDebug((attrval_int) ? true : false); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_margin: setMargin(attrval_int); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_up_arrow: setUpArrow(attrval_str); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_down_arrow: setDownArrow(attrval_str); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_left_arrow: setLeftArrow(attrval_str); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_right_arrow: setRightArrow(attrval_str); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_navigate_up: setNavigateUp(attrval_str); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_navigate_down: setNavigateDown(attrval_str); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_navigate_left: setNavigateLeft(attrval_str); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_navigate_right: setNavigateRight(attrval_str); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_own_surface: #ifdef __HAVE_DIRECTFB__ if(attrval_int) { MMSConfigData config; if(config.getBackend() == MMSFB_BE_DFB) { cerr << "Warning: DirectFB backend does not support own_surface=true (ignored)" << endl; break; } } #endif setOwnSurface((attrval_int) ? true : false); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_movein: setMoveIn(getDirectionFromString(attrval_str)); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_moveout: setMoveOut(getDirectionFromString(attrval_str)); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_modal: setModal((attrval_int) ? true : false); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_static_zorder: setStaticZOrder((attrval_int) ? true : false); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_always_on_top: setAlwaysOnTop((attrval_int) ? true : false); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_focusable: setFocusable((attrval_int) ? true : false); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_backbuffer: setBackBuffer((attrval_int) ? true : false); break; case MMSGUI_WINDOW_ATTR::MMSGUI_WINDOW_ATTR_IDS_initial_load: setInitialLoad((attrval_int) ? true : false); break; } } endTAFFScan if ((reset_paths)&&(path)&&(*path!="")) { // set my paths if (!isBgImagePath()) setBgImagePath(*path); } }