×

Discussion Board

Results 1 to 5 of 5
  1. #1
    Registered User
    Join Date
    Mar 2003
    Location
    Paris, France
    Posts
    47

    Use of TScreenInfoV01 on Nokia 7650 ...

    Hi,
    I'd like to have a direct access to the screen on
    a Nokia 7650. (I'm using the Nokia Series60 SDK v0.9)
    Here is a sample code I'm using to display some pixels :
    TScreenInfoV01 screenInfo;
    TPckg<TScreenInfoV01> sInfo(screenInfo);
    UserSvr::ScreenInfo(sInfo);
    TUint8 *pScreenAddress = STATIC_CAST(TUint8 *,screenInfo.iScreenAddress);
    for (int j = 80; j < 140; j++)
    for (int i = 0; i < 176; i++)
    {
    *(pScreenAddress + 2*(16 + i + j*176)) = i/8 + j;
    }

    The result is correct on a 9210 device (with 9200 SDK v1.2).
    On a 7650 device, result is strange. Nothing is displayed inside
    the loop, but if I open a Menu, therefore my rectangle is displayed.
    It seems there is a kind a double buffering in the 7650 but not in the 9210.
    Difficult to find any documentation about the TScreenInfoV01 !

    Do you have any idea ?

    Trick Lo.

  2. #2
    Registered User
    Join Date
    Mar 2003
    Posts
    3

    RE: Use of TScreenInfoV01 on Nokia 7650 ...

    no answer, sorry.
    But I'm also very interested in a solution...

    bye,

    Bernd

  3. #3
    Registered User
    Join Date
    Mar 2003
    Posts
    25

    RE: Use of TScreenInfoV01 on Nokia 7650 ...

    I'd like to know this too, I've been trying to force
    the system to switch buffers but without luck. Please,
    anyone from Nokia, this is essential for creating
    games with good performance!

    In the meantime I'm using the following method
    which proves to be suprisingly fast on 7650 (but
    horrendously slow on any other EPOC system):

    CGraphicsContext* iBitmapContext;
    CWsBitmap* iBitmap;
    CFbsBitmapDevice* iBitmapDevice;
    TUint8* iFrameBuf;

    iBitmap = new (ELeave) CWsBitmap(CCoeEnv::Static()->WsSession());
    iBitmap->Create(TSize(WIDTH, HEIGHT), DISPMODE);
    iBitmapDevice = CFbsBitmapDevice::NewL(iBitmap);
    iBitmapDevice->CreateContext(iBitmapContext);

    iFrameBuf = (uint8_t*) iBitmap->DataAddress();
    iPhysStride = CWsBitmap::ScanLineLength(WIDTH, DISPMODE);

    ... draw stuff ...
    // Then blit the bitmap by using a CWindowGc and BitBlt
    gc.BitBlt(TPoint(0,0), iBitmap);

    // Don't know if this makes any difference
    CEikonEnv::Static()->Flush();

  4. #4
    Regular Contributor
    Join Date
    Mar 2003
    Location
    Finland
    Posts
    260

    RE: Use of TScreenInfoV01 on Nokia 7650 ...

    The best way for direct screen access is to use the API for it. CDirectScreenAccess works as fast as using CFbsBitmapDevice and CFbsBitGc. In fact it is the same thing, except that now you are working with the Window Server and there are no complications that would normally come up.

    There is a good document and an example on direct screen access at
    http://www.symbian.com/developer/techlib/index.html.

    And there see

    How to implement Direct Screen Access with a Series 60 App


    Eero Tunkelo
    Developer Services
    Forum Nokia

  5. #5
    Registered User
    Join Date
    Mar 2003
    Posts
    43

    How to find the screen size of Nokia 7650?

    Hi,

    Could u pls tell me how can I find out the screen size in pixels
    for Nokia 7650. What is the API used for the same?

    Thanks,

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×