oF0.9.0 変更されたAPI 要点まとめ

<font color="#f00"><strong>時代は0.11.xです. こんな古い記事読まずに新しい記事を探してください.</strong></font>

# oF0.9.0 変更されたAPI 要点まとめ

全部は網羅してないですが大きく変わった点.

変更された点についてのみで新しく追加されたAPIについては記述していません.

----

## ofDrawXXX

ここら辺はProcessingルールを引きずってたところを変更って感じですかね.

`ofRectangle(0, 0, 100, 100);` って書いて「あれ？」となってた自分にさよなら.

### ex.

| new               | old           |
|:----              |:----          |
| ofDrawLine        | ofLine        |
| ofDrawCurve       | ofCurve       |
| ofDrawBezier      | ofBezier      |
| ofDrawCircle      | ofCircle      |
| ofDrawEllipse     | ofEllipse     |
| ofDrawTriangle    | ofTriangle    |
| ofDrawRectangle   | ofRect        |
| ofDrawRectRounded | ofRectRounded |
| ofDrawSphere      | ofSphere      |
| ofDrawCone        | ofCone        |
| ofBox             | ofDrawBox     |

----

## save/load

`void Type::saveXXX()` や `bool Type::loadXXX()` が `save()` や `load()` で統一されています.

### ex.

| new                      | old                     |
| :---                     | :---                    |
| ofImage::save()         | ofImage::saveImage()       |
| ofImage::load()         | ofImage::loadImage()       |
| ofVideoPlayer::load()   | ofVideoPlayer::loadMovie() |
| ofTrueTypeFont::load()  | ofTrueTypeFont::loadFont() |


----

## isXXX

`bool Type::bXXX()` が `bool Type::isXXX() const` に統一されています. 内部的には大体 `bool bXXX;` で持ってることが多いです.

### ex.

| new                      | old                     |
| :---                     | :---                    |
| ofImage::isAllocated()   | ofImage::bAllocated()   |
| ofTexture::isAllocated() | ofTexture::bAllocated() |

----

## getXXX

`getXXXRef()` とか `getXXXReference()` で参照を返していた人達が `getXXX()` になりました.

### ex.

| new                          | old                                   |
| :---                         | :---                                  |
| ofVideoPlayer::getTexture()  | ofVideoPlayer::getTextureReference()  |
| ofVideoPlayer::getPixels()   | ofVideoPlayer::getPixelsRef()         |
| ofImage::getTexture()        | ofImage::getTextureReference()        |
| ofImage::getPixels()         | ofImage::getPixelsRef()               |
| ofVideoGrabber::getPixels()  | ofVideoGrabber::getPixelsRef()        |
| ofVideoGrabber::getTexture() | ofVideoGrabber::getTextureReference() |

これに対して注意すべき点として `getPixels()` の挙動が変わりました.

0.8.4までは `getPixels()` は `unsigned char *` 要するに生のピクセル配列を返してましたが今後は `ofPixels &` を返す様になります. 今までの `getPixels()` と同様の挙動をさせるためには`getPixels().getData()` とします.

ちなみに, `ofPixels::getData()` も0.8.4までは `ofPixels::getPixels()` から変更になっています.

ちなみにちなみに, `ofPixels_<PixelType>` から `PixelType *` へのキャスト演算子もdeprecatedになっています.

## ofAppGLFWWindow

`setXXX` で指定してたオプションが `ofAppGLFWWindowSettings` を使って一括でセットするように変わりました.

今後は `ofXxxSettings` が増えてくるかと思われます.

## ofGraphics周り

ここら辺は単純にわかりやすくした感じですかね.

### ex.

| new                     | old                |
| :---                    | :---               |
| ofGetBackgroundAuto()   | ofbClearBg()       |
| ofGetBackgroundColor()  | ofGetBackground()  |

## ofVideoGrabber

`setup` に揃いました.

### ex.

| new     | old         |
| :---    | :---        |
| setup   | initGrabber |

## ofxOscReceiver

`getNextMessage` の引数が `ofxOscMessage *` から `ofxOscMessage &` に変わりました.

| new                             | old                             |
| :---                            | :---                            |
| getNextMessage(ofxOscMessage &) | getNextMessage(ofxOscMessage *) |

## 結論

`OF_DEPRECATED_MSG` で検索.