2016-11-06 11 views
0

私はcloudpebbleでコンパイルエラーで苦労しています。不完全なタイプのペブルへの参照を参照しないGBitmap

私はGBitmapのピクセルデータへのポインタを取得したいと思います。

static void canvas_update_proc(Layer *layer, GContext *ctx) { 
    // Custom drawing happens here! 
    GBitmap *fb = graphics_capture_frame_buffer(ctx); 

    // Manipulate the image data... 
    GRect bounds = layer_get_bounds(layer); 

    uint8_t *byte_offset = (uint8_t *)fb->addr; // <------- error 

    int skip_bytes = fb->row_bytes_size - bounds.size.w; // <------- error 

コンパイラはこのエラーを返します。

../src/c/hello_world.c: In function 'canvas_update_proc': 
../src/c/hello_world.c:25:38: error: dereferencing pointer to incomplete type 
../src/c/hello_world.c:27:24: error: dereferencing pointer to incomplete type 

私はこのytビデオをチェックしていました。 https://youtu.be/lYoHh19RNy4?t=2473

どうすれば解決できますか?


私がグーグルで行っていたように、私はGBitmapとは何か関係があったと思いますか? (少なくともメンバーですか?)

答えて

2

ビデオが公開された後にリリースされたSDKアップデートで、GBitmapの構造が変更されました。 GBitmapのメンバーであるaddrに直接アクセスすることはできません。

gbitmap_get_data_row_infoを使用して、その行の情報を提供するデータを変更する必要があります。

Pebble Developerのドキュメントもお読みください。

関連する問題