summaryrefslogtreecommitdiffhomepage
path: root/mrblib/core.rb
blob: 8f9377276dfe4aa3dc212c99674b64ddecf54a4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
module Raylib
  class << self
    # The code block version of {Raylib.begin_scissor_mode} and {Raylib.end_scissor_mode}
    # @overload scissor_mode(x: 0, y: 0, width: 10, height: 10, &block)
    #   @param x [Integer]
    #   @param y [Integer]
    #   @param width [Integer]
    #   @param height [Integer]
    #   @param block [Proc] The code to be executed in the scissor mode
    def scissor_mode(*args, x: 0, y: 0, width: 10, height: 10, &block)
      if args.length == 4
        self.begin_scissor_mode(args[0], args[1], args[2], args[3])
      else
        self.begin_scissor_mode(x: x, y: y, width: width, height: height)
      end
      yield
      self.end_scissor_mode
    end
  end
end