ProgramBinaryStore() : m_hash(QCryptographicHash::Sha1) { m_maxShaderCount = get_env_int("QSG_PROGRAM_BINARY_LIMIT", 512); m_location = QString::fromLocal8Bit(qgetenv("QSG_PROGRAM_BINARY_STORE")); if (m_location.isEmpty()) { QString base = QString::fromLocal8Bit(qgetenv("XDG_RUNTIME_DIR")); if (base.isEmpty()) base = QDir().tempPath() + QStringLiteral("/.") + QString::fromLocal8Bit(qgetenv("USER")) + QStringLiteral("-"); else base += QStringLiteral("/"); m_location = base + "qsg-pb-store"; } QDir().mkpath(m_location); #ifdef CUSTOMCONTEXT_DEBUG qDebug() << "Customcontext: binary shaders stored in:" << m_location; #endif #ifndef QT_OPENGL_ES_3 glGetProgramBinary = (_glGetProgramBinary) eglGetProcAddress("glGetProgramBinaryOES"); glProgramBinary = (_glProgramBinary) eglGetProcAddress("glProgramBinaryOES"); Q_ASSERT(glGetProgramBinary && glProgramBinary); #endif }
void edit_interface_rep::set_left_footer () { tree s= concat (); double base_sz= get_env_int (FONT_BASE_SIZE); double sz= get_env_double (FONT_SIZE); /* tree the_style= get_style (); for (int i=0; i<arity (the_style); i++) s << " " << as_string (the_style[i]); */ string mode= get_env_string (MODE); string lan = get_env_string (MODE_LANGUAGE (mode)); if (mode == "prog") s << "program"; else if (as_string (get_init_value (MODE_LANGUAGE (mode))) != lan) s << " " << lan; else s << " " << mode; if ((mode == "text") || (mode == "src")) { s << " " << get_env_string (FONT); append_left_footer (s, FONT_FAMILY); s << " " << as_string ((int) ((base_sz+0.5)*sz)); append_left_footer (s, FONT_SERIES); append_left_footer (s, FONT_SHAPE); } else if (mode == "math") { s << " " << get_env_string (MATH_FONT); append_left_footer (s, MATH_FONT_FAMILY); s << " " << as_string ((int) ((base_sz+0.5)*sz)); append_left_footer (s, MATH_FONT_SERIES); append_left_footer (s, MATH_FONT_SHAPE); } else if (mode == "prog") { string session_name= get_env_string (PROG_SESSION); if (session_name != "default") s << "-" << session_name; s << " " << get_env_string (PROG_FONT); append_left_footer (s, PROG_FONT_FAMILY); s << " " << as_string ((int) ((base_sz+0.5)*sz)); append_left_footer (s, PROG_FONT_SERIES); append_left_footer (s, PROG_FONT_SHAPE); } string r= get_env_string (COLOR); if (r != "black") s << " " << r; if (N(s) > 0 && s[0] == " ") s= s (1, N(s)); if (inside ("session") && (lan != "scheme")) { string lan = get_env_string (PROG_LANGUAGE); string session= get_env_string (PROG_SESSION); switch (connection_status (lan, session)) { case CONNECTION_DEAD: s= s << " [dead]"; break; case CONNECTION_DYING: case WAITING_FOR_OUTPUT: s= s << " [busy]"; break; case WAITING_FOR_INPUT: s= s << " [idle]"; break; } } s= as_tree (call ("footer-hook", object (s))); set_left_footer (s); }