//
	//	SUMMARY: 読み込み系メソッド
	//
	KTL_INLINE bool NativeLayeredSplashWindow::loadImages(tTJSString const& storage) {
		sprig::com_ptr<::IStream> in(::TVPCreateIStream(storage, TJS_BS_READ));
		if (!in) {
			KTL_ERROR(
				KTL_ERROR_SECTION,
				tTJSString(SPRIG_KRKR_TJS_W("ファイルオープンに失敗しました: ")) + storage,
				sprig::krkr::bad_state
				);
			return false;
		}
		LARGE_INTEGER move;
		move.QuadPart = 0;
		ULARGE_INTEGER new_pos;
		if (FAILED(in->Seek(move, TJS_BS_SEEK_END, &new_pos))) {
			KTL_ERROR(
				KTL_ERROR_SECTION,
				tTJSString(SPRIG_KRKR_TJS_W("ファイルシークに失敗しました: ")) + storage,
				sprig::krkr::internal_error
				);
			return false;
		}
		size_type file_size = static_cast<size_type>(new_pos.QuadPart);
		if (!file_size) {
			KTL_ERROR(
				KTL_ERROR_SECTION,
				tTJSString(SPRIG_KRKR_TJS_W("ファイルが空です: ")) + storage,
				sprig::krkr::bad_state
				);
			return false;
		}
		move.QuadPart = 0;
		if (FAILED(in->Seek(move, TJS_BS_SEEK_SET, &new_pos))) {
			KTL_ERROR(
				KTL_ERROR_SECTION,
				tTJSString(SPRIG_KRKR_TJS_W("ファイルシークに失敗しました: ")) + storage,
				sprig::krkr::internal_error
				);
			return false;
		}
		std::vector<byte_type> buffer(file_size);
		ULONG io_size = 0;
		if (FAILED(in->Read(&buffer[0], buffer.size(), &io_size))) {
			KTL_ERROR(
				KTL_ERROR_SECTION,
				tTJSString(SPRIG_KRKR_TJS_W("ファイル読込に失敗しました: ")) + storage,
				sprig::krkr::internal_error
				);
		}
		return impl_->loadImages(&buffer[0], io_size);
	}
Example #2
0
//---------------------------------------------------------------------------
tTJSString tTJSString::AsLowerCase() const
{
	tjs_int len = GetLen();

	if(len == 0) return tTJSString();

	tTJSString ret((tTJSStringBufferLength)(len));

	const tjs_char *s = c_str();
	tjs_char *d = ret.Independ();
	while(*s)
	{
		if(*s >= TJS_W('A') && *s <= TJS_W('Z'))
			*d = *s +(TJS_W('a')-TJS_W('A'));
		else
			*d = *s;
		d++;
		s++;
	}

	return ret;
}