컴포즈에서 기본 Surface 에 Text 를 작성하면 Text 의 font color는 BLACK이다.
그런데 Surface 에 color를 primary로 넣으면 Text의 font 색상은 WHITE 로 적용된다.
설정하지 않은 Text 의 색상은 어디서 적용되는걸까?
Surface 를 찾아 들어가면 contentColor 가 있는데
이 contentColor 의 default 값은 contentColorFor 에서 적용된다.
그리고 이 contentColorFor 를 찾아들어가면
아래와 같이 primary 인 경우 onPrimary를 리턴하는 것을 볼 수 있다.
다시 말해 primary 를 지정 하면 onPrimary 를 리턴한다.
다시 돌아와서 Surface 의 인자로 전달된 contentColor 는 CompsitionLocalProvider 에 저장되게 된다.
그리고 다시 처음으로 돌아와서 Surface 내부에 Text 함수를 에서
내부로 들어가서 보면 textColor가 지정되지 않았으면 LocalContentColor 에서 값을 가져오는 것을 볼 수 있다.