canvas_modulate.cpp 931 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #include "canvas_modulate.h"
  2. void CanvasModulate::_notification(int p_what) {
  3. if (p_what==NOTIFICATION_ENTER_CANVAS) {
  4. VS::get_singleton()->canvas_set_modulate(get_canvas(),color);
  5. } else if (p_what==NOTIFICATION_EXIT_CANVAS) {
  6. VS::get_singleton()->canvas_set_modulate(get_canvas(),Color(1,1,1,1));
  7. }
  8. }
  9. void CanvasModulate::_bind_methods(){
  10. ObjectTypeDB::bind_method(_MD("set_color","color"),&CanvasModulate::set_color);
  11. ObjectTypeDB::bind_method(_MD("get_color"),&CanvasModulate::get_color);
  12. ADD_PROPERTY(PropertyInfo(Variant::COLOR,"color"),_SCS("set_color"),_SCS("get_color"));
  13. }
  14. void CanvasModulate::set_color(const Color& p_color){
  15. color=p_color;
  16. if (is_inside_tree()) {
  17. VS::get_singleton()->canvas_set_modulate(get_canvas(),color);
  18. }
  19. }
  20. Color CanvasModulate::get_color() const {
  21. return color;
  22. }
  23. CanvasModulate::CanvasModulate()
  24. {
  25. color=Color(1,1,1,1);
  26. }
  27. CanvasModulate::~CanvasModulate()
  28. {
  29. }