Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void draw_gradient_quad(int x_, int y_, int width_, int height_, int color1_, int color2_) {
- if (x_ < x) {
- width_ -= x - x_;
- x_ = x;
- }
- if (x_ + width_ > width)
- width_ = width - x_;
- int c2_r = color2_ >> 16 & 0xff;
- int c2_g = color2_ >> 8 & 0xff;
- int c2_b = color2_ & 0xff;
- int c1_r = color1_ >> 16 & 0xff;
- int c1_g = color1_ >> 8 & 0xff;
- int c1_b = color1_ & 0xff;
- int max_start_width = menu_width - width_;
- byte scan_lines = 1;
- if (f1_toggle) {
- scan_lines = 2;
- max_start_width += menu_width;
- if ((y_ & 1) != 0) {
- y_++;
- height_--;
- }
- }
- int pxl_pos = x_ + y_ * menu_width;
- for (int _y = 0; _y < height_; _y += scan_lines)
- if (_y + y_ >= y && _y + y_ < height) {
- int new_pxl = ((c2_r * _y + c1_r * (height_ - _y)) / height_ << 16) + ((c2_g * _y + c1_g * (height_ - _y)) / height_ << 8) + (c2_b * _y + c1_b * (height_ - _y)) / height_;
- for (int _x = -width_; _x < 0; _x++)
- img_pxl_arr[pxl_pos++] = new_pxl;
- pxl_pos += max_start_width;
- } else
- pxl_pos += menu_width;
- }
Add Comment
Please, Sign In to add comment