예제 #1
0
 @Override
 public void surfaceCreated(SurfaceHolder holder) {
   Log.d("weather", "surfaceCreated");
   if (renderThread == null) {
     renderThread = new RenderThread(surfaceHolder, getContext());
     renderThread.start();
   }
 }
  public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
    Log.d("ssidang", "surfaceChanged(" + width + ", " + height + ")");

    // 160 좌표계로 스케일합니다.
    // 화면의 짧은 축을 160으로 합니다.
    // 렌더링 시작.
    int length = Math.min(width, height);
    float factor = length / 160.f;
    this.width = width / factor;
    this.height = height / factor;

    renderThread.setScaleFactor(factor);
    renderThread.start();
  }
예제 #3
0
  public boolean requestRendering1(JobRequest request, MusicPage page) {
    // TODO: Consider switching to org.openide.util.RequestProcessor
    request.page = page;
    cancelRendering(request.requester);
    Renderer.renderQ.add(request);

    // TODO: Allow multiple threads
    if (renderThread == null || !renderThread.isAlive()) {
      renderThread = new RenderThread();
      renderThread.setName("MusicPage render");
      renderThread.start();
    }

    return true;
  }
예제 #4
0
  @Override
  public void start() {
    GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
    gd = ge.getDefaultScreenDevice();

    if (!gd.isFullScreenSupported()) {
      onError("Full-screen exclusive mode not supported");
      System.exit(0);
    }
    // switch on FSEM
    //        gd.setFullScreenWindow(window);

    window.setVisible(true);

    renderThread.start();
    updateThread.start();
    inputThread.start();
  }