change: Node::SetAnchor -> Node::SetPivot
This commit is contained in:
		
							parent
							
								
									4d9649eedf
								
							
						
					
					
						commit
						190a04a24f
					
				|  | @ -10,7 +10,7 @@ | |||
| 		if (Old) this->RemoveChild(Old);						\ | ||||
| 		if (New)												\ | ||||
| 		{														\ | ||||
| 			New->SetAnchor(anchor_.x, anchor_.y);				\ | ||||
| 			New->SetPivot(GetPivotX(), GetPivotY());			\ | ||||
| 			this->AddChild(New);								\ | ||||
| 		}														\ | ||||
| 		Old = New;												\ | ||||
|  | @ -135,13 +135,13 @@ void e2d::Button::SetCallbackOnClick(const Function& func) | |||
| 	callback_ = func; | ||||
| } | ||||
| 
 | ||||
| void e2d::Button::SetAnchor(float anchor_x, float anchor_y) | ||||
| void e2d::Button::SetPivot(float pivot_x, float pivot_y) | ||||
| { | ||||
| 	Node::SetAnchor(anchor_x, anchor_y); | ||||
| 	SAFE_SET(normal_, SetAnchor, anchor_x, anchor_y); | ||||
| 	SAFE_SET(mouseover_, SetAnchor, anchor_x, anchor_y); | ||||
| 	SAFE_SET(selected_, SetAnchor, anchor_x, anchor_y); | ||||
| 	SAFE_SET(disabled_, SetAnchor, anchor_x, anchor_y); | ||||
| 	Node::SetPivot(pivot_x, pivot_y); | ||||
| 	SAFE_SET(normal_, SetPivot, pivot_x, pivot_y); | ||||
| 	SAFE_SET(mouseover_, SetPivot, pivot_x, pivot_y); | ||||
| 	SAFE_SET(selected_, SetPivot, pivot_x, pivot_y); | ||||
| 	SAFE_SET(disabled_, SetPivot, pivot_x, pivot_y); | ||||
| } | ||||
| 
 | ||||
| bool e2d::Button::Dispatch(const MouseEvent & e, bool handled) | ||||
|  |  | |||
|  | @ -72,9 +72,9 @@ namespace e2d | |||
| 
 | ||||
| 		// 设置支点位置
 | ||||
| 		// 默认为 (0, 0), 范围 [0, 1]
 | ||||
| 		virtual void SetAnchor( | ||||
| 			float anchor_x, | ||||
| 			float anchor_y | ||||
| 		virtual void SetPivot( | ||||
| 			float pivot_x, | ||||
| 			float pivot_y | ||||
| 		) override; | ||||
| 
 | ||||
| 	protected: | ||||
|  |  | |||
|  | @ -468,10 +468,10 @@ namespace e2d | |||
| 		const Size& GetRealSize() const; | ||||
| 
 | ||||
| 		// 获取节点的支点
 | ||||
| 		float GetAnchorX() const; | ||||
| 		float GetPivotX() const; | ||||
| 
 | ||||
| 		// 获取节点的支点
 | ||||
| 		float GetAnchorY() const; | ||||
| 		float GetPivotY() const; | ||||
| 
 | ||||
| 		// 获取节点大小
 | ||||
| 		Size GetSize() const; | ||||
|  | @ -612,21 +612,21 @@ namespace e2d | |||
| 
 | ||||
| 		// 设置支点的横向位置
 | ||||
| 		// 默认为 0, 范围 [0, 1]
 | ||||
| 		virtual void SetAnchorX( | ||||
| 			float anchor_x | ||||
| 		virtual void SetPivotX( | ||||
| 			float pivot_x | ||||
| 		); | ||||
| 
 | ||||
| 		// 设置支点的纵向位置
 | ||||
| 		// 默认为 0, 范围 [0, 1]
 | ||||
| 		virtual void SetAnchorY( | ||||
| 			float anchor_y | ||||
| 		virtual void SetPivotY( | ||||
| 			float pivot_y | ||||
| 		); | ||||
| 
 | ||||
| 		// 设置支点位置
 | ||||
| 		// 默认为 (0, 0), 范围 [0, 1]
 | ||||
| 		virtual void SetAnchor( | ||||
| 			float anchor_x, | ||||
| 			float anchor_y | ||||
| 		virtual void SetPivot( | ||||
| 			float pivot_x, | ||||
| 			float pivot_y | ||||
| 		); | ||||
| 
 | ||||
| 		// 修改节点宽度
 | ||||
|  |  | |||
|  | @ -285,6 +285,10 @@ bool e2d::Image::Preload(const Resource& res) | |||
| 
 | ||||
| bool e2d::Image::Preload(const String & file_name) | ||||
| { | ||||
| 	size_t hash = file_name.GetHash(); | ||||
| 	if (bitmap_cache_.find(hash) != bitmap_cache_.end()) | ||||
| 		return true; | ||||
| 
 | ||||
| 	File image_file; | ||||
| 	if (!image_file.Open(file_name)) | ||||
| 		return false; | ||||
|  | @ -292,9 +296,6 @@ bool e2d::Image::Preload(const String & file_name) | |||
| 	// 用户输入的路径不一定是完整路径,因为用户可能通过 File::AddSearchPath 添加
 | ||||
| 	// 默认搜索路径,所以需要通过 File::GetPath 获取完整路径
 | ||||
| 	String image_file_path = image_file.GetPath(); | ||||
| 	size_t hash = image_file_path.GetHash(); | ||||
| 	if (bitmap_cache_.find(hash) != bitmap_cache_.end()) | ||||
| 		return true; | ||||
| 
 | ||||
| 	IWICImagingFactory *imaging_factory = Renderer::GetImagingFactory(); | ||||
| 	ID2D1HwndRenderTarget* render_target = Renderer::GetInstance()->GetRenderTarget(); | ||||
|  |  | |||
|  | @ -365,12 +365,12 @@ const e2d::Size& e2d::Node::GetRealSize() const | |||
| 	return transform_.size; | ||||
| } | ||||
| 
 | ||||
| float e2d::Node::GetAnchorX() const | ||||
| float e2d::Node::GetPivotX() const | ||||
| { | ||||
| 	return transform_.pivot_x; | ||||
| } | ||||
| 
 | ||||
| float e2d::Node::GetAnchorY() const | ||||
| float e2d::Node::GetPivotY() const | ||||
| { | ||||
| 	return transform_.pivot_y; | ||||
| } | ||||
|  | @ -536,23 +536,23 @@ void e2d::Node::SetOpacity(float opacity) | |||
| 	UpdateOpacity(); | ||||
| } | ||||
| 
 | ||||
| void e2d::Node::SetAnchorX(float anchor_x) | ||||
| void e2d::Node::SetPivotX(float pivot_x) | ||||
| { | ||||
| 	this->SetAnchor(anchor_x, transform_.pivot_y); | ||||
| 	this->SetPivot(pivot_x, transform_.pivot_y); | ||||
| } | ||||
| 
 | ||||
| void e2d::Node::SetAnchorY(float anchor_y) | ||||
| void e2d::Node::SetPivotY(float pivot_y) | ||||
| { | ||||
| 	this->SetAnchor(transform_.pivot_x, anchor_y); | ||||
| 	this->SetPivot(transform_.pivot_x, pivot_y); | ||||
| } | ||||
| 
 | ||||
| void e2d::Node::SetAnchor(float anchor_x, float anchor_y) | ||||
| void e2d::Node::SetPivot(float pivot_x, float pivot_y) | ||||
| { | ||||
| 	if (transform_.pivot_x == anchor_x && transform_.pivot_y == anchor_y) | ||||
| 	if (transform_.pivot_x == pivot_x && transform_.pivot_y == pivot_y) | ||||
| 		return; | ||||
| 
 | ||||
| 	transform_.pivot_x = anchor_x; | ||||
| 	transform_.pivot_y = anchor_y; | ||||
| 	transform_.pivot_x = pivot_x; | ||||
| 	transform_.pivot_y = pivot_y; | ||||
| 	dirty_transform_ = true; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -93,15 +93,6 @@ bool e2d::Sprite::Open(const String & file_name) | |||
| 	return false; | ||||
| } | ||||
| 
 | ||||
| void e2d::Sprite::Crop(const Rect& crop_rect) | ||||
| { | ||||
| 	image_->Crop(crop_rect); | ||||
| 	Node::SetSize( | ||||
| 		std::min(std::max(crop_rect.size.width, 0.f), image_->GetSourceWidth() - image_->GetCropX()), | ||||
| 		std::min(std::max(crop_rect.size.height, 0.f), image_->GetSourceHeight() - image_->GetCropY()) | ||||
| 	); | ||||
| } | ||||
| 
 | ||||
| e2d::Image * e2d::Sprite::GetImage() const | ||||
| { | ||||
| 	return image_; | ||||
|  | @ -112,19 +103,18 @@ void e2d::Sprite::Draw() const | |||
| 	if (image_ && image_->GetBitmap()) | ||||
| 	{ | ||||
| 		// »ñȡͼƬ²Ã¼ôλÖÃ
 | ||||
| 		float fCropX = image_->GetCropX(); | ||||
| 		float fCropY = image_->GetCropY(); | ||||
| 		auto crop_pos = image_->GetCropPos(); | ||||
| 		// äÖȾͼƬ
 | ||||
| 		Renderer::GetInstance()->GetRenderTarget()->DrawBitmap( | ||||
| 			image_->GetBitmap(), | ||||
| 			D2D1::RectF(0, 0, size_.width, size_.height), | ||||
| 			D2D1::RectF(0, 0, transform_.size.width, transform_.size.height), | ||||
| 			display_opacity_, | ||||
| 			D2D1_BITMAP_INTERPOLATION_MODE_LINEAR, | ||||
| 			D2D1::RectF( | ||||
| 				fCropX, | ||||
| 				fCropY, | ||||
| 				fCropX + size_.width, | ||||
| 				fCropY + size_.height | ||||
| 				crop_pos.x, | ||||
| 				crop_pos.y, | ||||
| 				crop_pos.y + transform_.size.width, | ||||
| 				crop_pos.y + transform_.size.height | ||||
| 			) | ||||
| 		); | ||||
| 	} | ||||
|  |  | |||
|  | @ -294,7 +294,7 @@ void e2d::Text::Draw() const | |||
| 	{ | ||||
| 		auto renderer = Renderer::GetInstance(); | ||||
| 		// 创建文本区域
 | ||||
| 		D2D1_RECT_F textLayoutRect = D2D1::RectF(0, 0, size_.width, size_.height); | ||||
| 		D2D1_RECT_F textLayoutRect = D2D1::RectF(0, 0, transform_.size.width, transform_.size.height); | ||||
| 		// 设置画刷颜色和透明度
 | ||||
| 		renderer->GetSolidBrush()->SetOpacity(display_opacity_); | ||||
| 		// 获取文本渲染器
 | ||||
|  | @ -429,7 +429,7 @@ void e2d::Text::CreateLayout() | |||
| 				(const wchar_t *)text_, | ||||
| 				length, | ||||
| 				text_format_, | ||||
| 				size_.width, | ||||
| 				transform_.size.width, | ||||
| 				0, | ||||
| 				&text_layout_ | ||||
| 			) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue