示例#1
0
static BOOL InitResource (void)
{
    if (!InitFixStr ()) {
        fprintf (stderr, "MiniGUI: Can not initialize Fixed String heap failure!\n");
        goto failure;
    }

#ifdef _CURSOR_SUPPORT
    if (!InitCursor ()) {
        fprintf (stderr, "MiniGUI: Count not initialize mouse cursor!\n");
        goto failure;
    }
#endif

    if (!InitMenu ()) {
        fprintf (stderr, "MiniGUI: Init Menu module failure!\n");
        goto failure;
    }

    if (!InitControlClass ()) {
        fprintf(stderr, "MiniGUI: Init Control Class failure!\n");
        goto failure;
    }

    if (!InitAccel ()) {
        fprintf(stderr, "MiniGUI: Init Accelerator failure!\n");
        goto failure;
    }

    if (!InitDesktop ()) {
        fprintf (stderr, "MiniGUI: Init Desktop error!\n");
        goto failure;
    }

    if (!InitFreeQMSGList ()) {
        fprintf (stderr, "MiniGUI: Init free QMSG list error!\n");
        goto failure;
    }

    if (!InitDskMsgQueue ()) {
        fprintf (stderr, "MiniGUI: Init MSG queue error!\n");
        goto failure;
    }

    return TRUE;

failure:
    return FALSE;
}
示例#2
0
LDesktop::LDesktop(int deskNum, bool setdefault) : QObject(){

  DPREFIX = "desktop-"+QString::number(deskNum)+"/";
  desktopnumber = deskNum;
  desktop = QApplication::desktop();
  defaultdesktop = setdefault; //(desktop->screenGeometry(desktopnumber).x()==0);
  desktoplocked = true;
  issyncing = bgupdating = false;
  usewinmenu=false;

  //Setup the internal variables
  settings = new QSettings(QSettings::UserScope, "LuminaDE","desktopsettings", this);
  //qDebug() << " - Desktop Settings File:" << settings->fileName();
  if(!QFile::exists(settings->fileName())){ settings->setValue(DPREFIX+"background/filelist",QStringList()<<"default"); settings->sync(); }
  bgWindow = 0;
  bgDesktop = 0;
  QTimer::singleShot(1,this, SLOT(InitDesktop()) );

}
示例#3
0
int main(int argc, char **argv) {
  struct sigaction sa;
  char *LogFile;

  memset(&sa, 0, sizeof(struct sigaction));
  sa.sa_handler = SIG_DFL;
  sa.sa_flags |= SA_RESTART;
  if (sigaction(SIGCHLD, &sa, NULL) != 0) {
    Error("sigaction(2) failure");
  }

  gtk_init(&argc, &argv);
  gtk_panda_init(&argc, &argv);
  gtk_set_locale();

  bindtextdomain(PACKAGE, LOCALEDIR);
  textdomain(PACKAGE);

  LogFile = getenv("GLPUSH_LOGFILE");
  if (LogFile == NULL) {
    InitLogger("glprint");
  } else {
    InitLogger_via_FileName(LogFile);
  }
  TempDir = getenv("GLPUSH_TEMPDIR");
  if (TempDir == NULL) {
    InitTempDir("glprint");
  } else {
    InitTempDir_via_Dir(TempDir);
  }

  gl_config_init();
  InitDesktop();

  execute();

  gtk_timeout_add(30 * 1000, push_action_exit, NULL);
  gtk_main();

  sleep(3);

  return 0;
}
示例#4
0
// Routine to startup and install all the hooks and stuff
BOOL
vncDesktop::Startup()
{


	KillScreenSaver();

	if (!InitDesktop())
		return FALSE;

	if (!InitBitmap())
		return FALSE;

	if (!ThunkBitmapInfo())
		return FALSE;

	EnableOptimisedBlits();

	if (!SetPixFormat())
		return FALSE;

    if (!SetPixShifts())
		return FALSE;

	if (!SetPalette())
		return FALSE;

	if (!InitWindow())
		return FALSE;

	// Add the system hook
/*
if (!SetHooks(
		GetCurrentThreadId(),
		RFB_SCREEN_UPDATE,
		RFB_COPYRECT_UPDATE,
		RFB_MOUSE_UPDATE
		))
	{
		//vnclog.Print(LL_INTERR, VNCLOG("failed to set system hooks\n"));
		// Switch on full screen polling, so they can see something, at least...
		m_server->PollFullScreen(TRUE);
	} else {
		//vnclog.Print(LL_INTERR, VNCLOG("set hooks OK\n"));
	}

	// Start up the keyboard and mouse filters
	SetKeyboardFilterHook(m_server->LocalInputsDisabled());
	SetMouseFilterHook(m_server->LocalInputsDisabled());
*/
    m_server->PollFullScreen(TRUE);

	// Start a timer to handle Polling Mode.  The timer will cause
	// an "idle" event once every quarter second, which is necessary if Polling
	// Mode is being used, to cause TriggerUpdate to be called.
	m_timerid = SetTimer(m_hwnd, 1, 250, NULL);

	// Initialise the buffer object
	m_buffer.SetDesktop(this);

	// Create the quarter-screen rectangle for polling
	m_qtrscreen = rfb::Rect(0, 0, m_bmrect.br.x, m_bmrect.br.y/4);

	// Everything is ok, so return TRUE
	return TRUE;
}