mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-08 21:54:50 -04:00
@@ -0,0 +1,65 @@
|
||||
//
|
||||
// Generated by dtk
|
||||
// Translation Unit: JSUMemoryStream.cpp
|
||||
//
|
||||
|
||||
#include "JSystem/JSupport/JSUMemoryStream.h"
|
||||
#include "MSL_c/string.h"
|
||||
|
||||
/* 802BF704-802BF718 .text setBuffer__20JSUMemoryInputStreamFPCvl */
|
||||
void JSUMemoryInputStream::setBuffer(void const* pBuffer, s32 length) {
|
||||
mBuffer = pBuffer;
|
||||
mLength = length;
|
||||
mPosition = 0;
|
||||
}
|
||||
|
||||
/* 802BF718-802BF790 .text readData__20JSUMemoryInputStreamFPvl */
|
||||
u32 JSUMemoryInputStream::readData(void* pData, s32 length) {
|
||||
if (mPosition + length > mLength) {
|
||||
length = mLength - mPosition;
|
||||
}
|
||||
|
||||
if (length > 0) {
|
||||
memcpy(pData, (void*)((s32)mBuffer + mPosition), length);
|
||||
mPosition += length;
|
||||
}
|
||||
|
||||
return length;
|
||||
}
|
||||
|
||||
/* 802BF790-802BF80C .text seekPos__20JSUMemoryInputStreamFl17JSUStreamSeekFrom */
|
||||
s32 JSUMemoryInputStream::seekPos(s32 pos, JSUStreamSeekFrom seekFrom) {
|
||||
s32 oldPos = mPosition;
|
||||
|
||||
switch (seekFrom) {
|
||||
case JSUStreamSeekFrom_SET:
|
||||
mPosition = pos;
|
||||
break;
|
||||
case JSUStreamSeekFrom_END:
|
||||
mPosition = mLength - pos;
|
||||
break;
|
||||
case JSUStreamSeekFrom_CUR:
|
||||
mPosition += pos;
|
||||
break;
|
||||
}
|
||||
|
||||
if (mPosition < 0) {
|
||||
mPosition = 0;
|
||||
}
|
||||
|
||||
if (mPosition > mLength) {
|
||||
mPosition = mLength;
|
||||
}
|
||||
|
||||
return mPosition - oldPos;
|
||||
}
|
||||
|
||||
/* 802BF80C-802BF814 .text getLength__20JSUMemoryInputStreamCFv */
|
||||
s32 JSUMemoryInputStream::getLength() const {
|
||||
return mLength;
|
||||
}
|
||||
|
||||
/* 802BF814-802BF81C .text getPosition__20JSUMemoryInputStreamCFv */
|
||||
s32 JSUMemoryInputStream::getPosition() const {
|
||||
return mPosition;
|
||||
}
|
||||
Reference in New Issue
Block a user