// GridOfLines Example // Source code file: MainActivity.kt package it372.ssmith.gridoflines import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.foundation.Canvas import androidx.compose.foundation.background import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.size import androidx.compose.ui.geometry.Offset import androidx.compose.ui.geometry.Size import androidx.compose.ui.graphics.Color import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() setContent { MainLayout() } } } @Composable fun MainLayout( ) { Column( modifier = Modifier.padding(20.dp) .fillMaxSize( )) { Canvas( modifier = Modifier .padding(20.dp) .size(300.dp, 300.dp) .background(Color(0xFFC0C0C0)) .fillMaxSize( )) { // Draw horizontal lines. for(x in 0..700 step 50) { drawLine(color = Color.Red, start = Offset(x.toFloat( ), 0f), end = Offset(x.toFloat( ), 700f), strokeWidth = 5f) } // Draw vertical lines. for(y in 0..700 step 50) { drawLine(color = Color.Red, start = Offset(0f, y.toFloat( )), end = Offset(x = 700f, y.toFloat( )), strokeWidth = 5f) } } } } @Preview(showBackground = true) @Composable fun GreetingPreview() { MainLayout( ) }