コード例 #1
0
ファイル: Dice.cpp プロジェクト: craigonic/jasl
int Dice::combinedResult() const noexcept
{
	const jmethodID methodID =
		jniEnv().GetMethodID(_diceClass,"combinedResult","()I");
	assert(nullptr != methodID);

	return jniEnv().CallIntMethod(_diceObject,methodID);
}
コード例 #2
0
ファイル: Dice.cpp プロジェクト: craigonic/jasl
int Dice::coloredDieValue() const noexcept
{
	const jmethodID methodID =
		jniEnv().GetMethodID(_diceClass,"coloredDieValue","()I");
	assert(nullptr != methodID);

	return jniEnv().CallIntMethod(_diceObject,methodID);
}
コード例 #3
0
ファイル: Dice.cpp プロジェクト: craigonic/jasl
Dice::Dice()
{
	_diceClass = jniEnv().FindClass("jasl/utilities/Dice");
	assert(nullptr != _diceClass);

	const jmethodID constructorID =
		jniEnv().GetMethodID(_diceClass,"<init>","()V");
	assert(nullptr != constructorID);

	_diceObject = jniEnv().NewObject(_diceClass,constructorID);
	assert(nullptr != _diceObject);
}
コード例 #4
0
void setContinuousRendering(bool _isContinuous) {

    s_isContinuousRendering = _isContinuous;

    JniThreadBinding jniEnv(jvm);

    jniEnv->CallVoidMethod(tangramInstance, requestRenderMethodID, _isContinuous ? 1 : 0);
}
コード例 #5
0
ファイル: Dice.cpp プロジェクト: craigonic/jasl
const std::string& Dice::toText() noexcept
{
	if (nullptr == _dump)
	{
		const jmethodID methodID =
			jniEnv().GetMethodID(_diceClass,"toText",
			                     "()Ljava/lang/String;");
		assert(nullptr != methodID);

		const jstring javaString =
			static_cast<jstring>(jniEnv().CallObjectMethod(_diceObject,methodID));
		assert(nullptr != javaString);

		_dump = std::make_unique<std::string>(std::move(js2ss(javaString)));
		assert(nullptr != _dump);

		jniEnv().DeleteLocalRef(javaString);
	}

	return *_dump;
}
コード例 #6
0
std::string systemFontPath(const std::string& _family, const std::string& _weight, const std::string& _style) {

    JniThreadBinding jniEnv(jvm);

    jstring jfamily = jniEnv->NewStringUTF(_family.c_str());
    jstring jweight = jniEnv->NewStringUTF(_weight.c_str());
    jstring jstyle = jniEnv->NewStringUTF(_style.c_str());
    jstring returnStr = (jstring) jniEnv->CallObjectMethod(tangramInstance, getFontFilePath, jfamily, jweight, jstyle);

    size_t length = jniEnv->GetStringUTFLength(returnStr);
    std::string fontPath = std::string(length, 0);
    jniEnv->GetStringUTFRegion(returnStr, 0, length, &fontPath[0]);
    return fontPath;
}
コード例 #7
0
void requestRender() {

    JniThreadBinding jniEnv(jvm);

    jniEnv->CallVoidMethod(tangramInstance, requestRenderMethodID);
}
コード例 #8
0
ファイル: Dice.cpp プロジェクト: craigonic/jasl
Dice::~Dice()
{
	jniEnv().DeleteLocalRef(_diceObject);
}