You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: app.rs
    path of file: ./repos/game-dev-with-rust/spining-square/src
    
    the code of the file until where you have to start completion: use crate::constant::{GOLD, OCEAN_BLUE};
use opengl_graphics::GlGraphics;
use piston::{RenderArgs, UpdateArgs};

// Open GL grafik kütüphanesini kullanacak olan ve döndürme bilgisi tutan veri yapısı
pub struct Application {
    graphic: GlGraphics,
    rotation: f64,
}

impl Application {
    pub fn new(graphic: GlGraphics, rotation: f64) -> Self {
        Self { graphic, rotation }
    }

    // E
    
    pub fn render(&mut self, args: &RenderArgs) {
        use graphics::*;

        // 0,0 koordinatlarına 64 pixel boyunda bir kare tanımlanıyor
        let square = rectangle::square(0., 0., 64.);
        let rotation = self.rotation;
        // kareyi ekranın tam ortasına yerleştirme için x,y koordinatları hesaplanıyor
        let (x, y) = (args.window_size[0] * 0.5, args.window_size[1] * 0.5);

        // çizdirme işlemi yapılıyor
        self.graphic.draw(args.viewport(), |context, gl| {
            // Ekran okyanus mavisi rengi ile temizleniyor
            clear(OCEAN_BLUE, gl);
            // radyan cinsinden gelen rotasyon değeri ve x,y bilgilerine göre bir yer değişimi
            // ve döndürme bilgisi ayarlanıyor
            let transform = context
                .transform
                .trans(x, y) // konum yeni yerine ayarlanıyor
                .rot_rad(rotation) // döndürme işlemi
                .trans(-16., 32.); // Buradaki değerlerle oynayarak farklı sonuçlar elde edebiliriz.
            // Mesela -32.,-32. deneyelim.
            // dörtgen çiziliyor
            rectangle(GOLD, square, transform, gl);
        });
    }