Signin/Signup with: 
Welcome, Guest
Username: Password: Remember me
Questions about Android development and PDF
  • Page:
  • 1

TOPIC:

eliminate white border/background? 2 years 8 months ago #15563

  • arlomedia
  • arlomedia's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
  • Posts: 56
  • Thank you received: 1
The first screen shot shows a multi-page document with Global.dark_mode=true, Global.readerViewBgColor=Color.TRANSPARENT, and Global.def_view=0.

The second screen shot shows a single-page document with Global.dark_mode=true, Global.readerViewBgColor=Color.TRANSPARENT, and Global.def_view=3.

How can I get rid of the white border/background shown here? If I set Global.readerViewBgColor to a color, that color appears instead, but with Global.readerViewBgColor=Color.TRANSPARENT, I see the white. If I remove the PDFLayoutView from my view, I don't see any white, so it's not a part of my app. It seems to be somewhere in the PDF viewer, below the backgrounds that Global.readerViewBgColor set, but I can't find it.
Attachments:

Please Log in or Create an account to join the conversation.

eliminate white border/background? 2 years 8 months ago #15565

  • radaee
  • radaee's Avatar
  • Offline
  • Moderator
  • Moderator
  • Posts: 1123
  • Thank you received: 73
dear user, this can be fix by replace these 2 methods in com.radaee.view.PDFLayout class:
private void vDrawZoom(Canvas canvas, int x, int y) {
    int pageno0 = m_disp_page1;
    int pageno1 = m_disp_page2;
    if (Global.dark_mode) {
        //m_bmp.eraseColor(m_back_color);
        Canvas bcan = new Canvas(m_bmp);
        while (pageno0 < pageno1) {
            m_pages[pageno0].vDraw(m_thread, bcan, x, y);
            pageno0++;
        }
        m_dbmp.Create(m_bmp);
        if (((m_back_color >> 24) & 255) == 0)
            m_dbmp.DrawRect(0xFFFFFF, 0, 0, m_w, m_h, 1);
        else
            m_dbmp.DrawRect(m_back_color, 0, 0, m_w, m_h, 1);
        m_dbmp.Invert();
        m_dbmp.Free(m_bmp);
        canvas.drawBitmap(m_bmp, 0, 0, null);
    } else {
        canvas.drawColor(m_back_color);
        while (pageno0 < pageno1) {
            m_pages[pageno0].vDraw(m_thread, canvas, x, y);
            pageno0++;
        }
    }
}

private void vDrawNormal(Canvas canvas, int x, int y) {
    int pageno0 = m_disp_page1;
    int pageno1 = m_disp_page2;
    boolean clip = m_scale > m_zoom_level_clip * m_scale_min;
    VPage vp;
    //m_bmp.eraseColor(m_back_color);
    m_dbmp.Create(m_bmp);
    if (Global.dark_mode && ((m_back_color >> 24) & 255) == 0)
        m_dbmp.DrawRect(0xFFFFFF, 0, 0, m_w, m_h, 1);
    else
        m_dbmp.DrawRect(m_back_color, 0, 0, m_w, m_h, 1);
    while (pageno0 < pageno1)//first step: only draw finished block.
    {
        boolean clipPage = Global.fit_different_page_size ? m_scales[pageno0] / m_scales_min[pageno0] > m_zoom_level_clip : clip;
        vp = m_pages[pageno0++];
        vp.vClips(m_thread, clipPage);//clip to blocks.
        vp.vDraw(m_thread, m_dbmp, x, y);
    }
    if (Global.dark_mode)//dark mode.
    {
        if (Global.cacheEnabled)//zoom cache to bitmap
        {
            m_dbmp.Free(m_bmp);
            Canvas bcan = new Canvas(m_bmp);
            pageno0 = m_disp_page1;
            while (pageno0 < pageno1) {
                vp = m_pages[pageno0++];
                vp.vDrawStep1(m_thread, bcan);
                vp.vDrawEnd();
            }
            m_dbmp.Create(m_bmp);
        } else//draw rendering blocks to
        {
            pageno0 = m_disp_page1;
            while (pageno0 < pageno1) {
                vp = m_pages[pageno0++];
                vp.vDrawStep2(m_dbmp);
                vp.vDrawEnd();
            }
        }
        m_dbmp.Invert();//convert to dark.
        m_dbmp.Free(m_bmp);
        canvas.drawBitmap(m_bmp, 0, 0, null);
    } else {
        if (Global.cacheEnabled)//zoom cache to canvas directly.
        {
            m_dbmp.Free(m_bmp);
            canvas.drawBitmap(m_bmp, 0, 0, null);
            pageno0 = m_disp_page1;
            while (pageno0 < pageno1) {
                vp = m_pages[pageno0++];
                vp.vDrawStep1(m_thread, canvas);
                vp.vDrawEnd();
            }
        } else//if not in cache mode, just draw rendering block.
        {
            pageno0 = m_disp_page1;
            while (pageno0 < pageno1) {
                vp = m_pages[pageno0++];
                vp.vDrawStep2(m_dbmp);
                vp.vDrawEnd();
            }

            m_dbmp.Free(m_bmp);
            canvas.drawBitmap(m_bmp, 0, 0, null);
        }
    }
    //if(Global.debug_mode) Log.e("draw", String.format("%d", SystemClock.elapsedRealtime() - tick_time));
}

Please Log in or Create an account to join the conversation.

eliminate white border/background? 2 years 8 months ago #15567

  • arlomedia
  • arlomedia's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
  • Posts: 56
  • Thank you received: 1
Thanks, that worked!

Please Log in or Create an account to join the conversation.

  • Page:
  • 1
Powered by Kunena Forum